Access.Image控件PictureData属性数组格式

王朝other·作者佚名  2006-11-24
宽屏版  字体: |||超大  

以下为EMF版(Access 2000及更高版本)的PictureData结构:

'PictureData信息头

PictureData(0-7) PictureData信息头

'EMF信息头

PictureData(8) iType As Long

PictureData(12) nSize As Long

PictureData(16) rclBounds{Long,Long,Long,Long}

PictureData(32) rclFrame{Long,Long,Long,Long}

PictureData(48) dSignature As Long

PictureData(52) nVersion As Long

PictureData(56) nBytes As Long

PictureData(60) nRecords As Long

PictureData(64) nHandles As Integer

PictureData(66) sReserved As Integer

PictureData(68) nDescription As Long

PictureData(72) offDescription As Long

PictureData(76) nPalEntries As Long

PictureData(80) szlDevice{Width As Long,Height As Long}

PictureData(88) szlMillimeters{Long,Long}

PictureData(96) cbPixelFormat As Long

PictureData(100) offPixelFormat As Long

PictureData(104) bOpenGL As Long

PictureData(108) szMicroMeters{Long,Long}

'EMF数据段

PictureData(116)~结尾

【PictureData信息头】

PictureData(0)指定整个图形的格式:

DIB:设备无关图元(=40),文件头长度为40,其后为像素数据。

WMF:Windows MetaFile(=3),文件头长度为8,其后为WMF。

EMF:Enhanced MetaFile(=14),文件头长度为8,其后为EMF。

Access97及以下版本使用DIB和WMF,Access 2000及以上版本使用DIB/WMF/EMF。

【EMF信息头】

iType指定BMP版本:

BMP3.0:BITMAPINFOHEADER(=40)也就是DIB

BMP4.0:BITMAPV4HEADER(=108)

BMP5.0:BITMAPV5HEADER(=124)

实际上,iType等价于文件头的长度,PictureData(8)~PictureData(8+iType)即图形信息头的全部内容。

【EMF数据段】

由多条EMF记录(EMR)构成,每条记录均包含EMR定义和EMR参数。(EMF信息头其实也是一条特殊的EMR,同样符合EMR格式定义)

EMR定义:

iType As Long

nSize As Long

EMR.iType

EMR_HEADER 1

EMR_POLYBEZIER 2

EMR_POLYGON 3

EMR_POLYLINE 4

EMR_POLYBEZIERTO 5

EMR_POLYLINETO 6

EMR_POLYPOLYLINE 7

EMR_POLYPOLYGON 8

EMR_SETWINDOWEXTEX 9

EMR_SETWINDOWORGEX 10

EMR_SETVIEWPORTEXTEX 11

EMR_SETVIEWPORTORGEX 12

EMR_SETBRUSHORGEX 13

EMR_EOF 14

EMR_SETPIXELV 15

EMR_SETMAPPERFLAGS 16

EMR_SETMAPMODE 17

EMR_SETBKMODE 18

EMR_SETPOLYFILLMODE 19

EMR_SETROP2 20

EMR_SETSTRETCHBLTMODE 21

EMR_SETTEXTALIGN 22

EMR_SETCOLORADJUSTMENT 23

EMR_SETTEXTCOLOR 24

EMR_SETBKCOLOR 25

EMR_OFFSETCLIPRGN 26

EMR_MOVETOEX 27

EMR_SETMETARGN 28

EMR_EXCLUDECLIPRECT 29

EMR_INTERSECTCLIPRECT 30

EMR_SCALEVIEWPORTEXTEX 31

EMR_SCALEWINDOWEXTEX 32

EMR_SAVEDC 33

EMR_RESTOREDC 34

EMR_SETWORLDTRANSFORM 35

EMR_MODIFYWORLDTRANSFORM 36

EMR_SELECTOBJECT 37

EMR_CREATEPEN 38

EMR_CREATEBRUSHINDIRECT 39

EMR_DELETEOBJECT 40

EMR_ANGLEARC 41

EMR_ELLIPSE 42

EMR_RECTANGLE 43

EMR_ROUNDRECT  

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有