2.9.193 PICMID

The PICMID structure specifies the size and border information for a picture.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

dxaGoal

dyaGoal

mx

my

dxaReserved1

dyaReserved1

dxaReserved2

dyaReserved2

fReserved

bpp

brcTop80

...

brcLeft80

...

brcBottom80

...

brcRight80

...

dxaReserved3

dyaReserved3

dxaGoal (2 bytes): A signed integer that specifies the initial width of the picture, in twips, before cropping or scaling occurs. This value MUST be greater than zero.

dyaGoal (2 bytes):  A signed integer that specifies the initial height of the picture, in twips, before cropping or scaling occurs. This value MUST be greater than zero.

mx (2 bytes): An unsigned integer that specifies the ratio, measured in tenths of a percent, between the final display width and the initial picture width that is specified by dxaGoal. If the picture is not cropped, mx values that are greater than 1000 cause the picture to stretch in width, while values that are less than 1000 cause the picture to shrink in width.

If the picture is horizontally cropped and the mx value is not adjusted accordingly, the picture is scaled. To counteract the new dimensions of a cropped image and avoid scaling, set mx to the value of ((dxaGoal – (left-crop + right-crop)) / dxaGoal.

The final display width MUST be at least 15 twips and MUST NOT exceed 31680 twips (22 inches) after cropping and scaling.

my (2 bytes): An unsigned integer that specifies the ratio, measured in tenths of a percent, between the final display height and the initial picture height that was specified by dyaGoal. If the picture is not cropped, my values that are greater than 1000 cause the picture to stretch in height, while values of less than 1000 cause the picture to shrink.

If the picture is vertically cropped and the my value is not adjusted accordingly, the picture is scaled. To counteract the new dimensions of a cropped image and avoid scaling, set the my value to the value of ((dyaGoal – (top-crop + bottom-crop)) / dyaGoal.

The final display height MUST be at least 15 twips and MUST NOT exceed 31680 twips (22 inches) after cropping and scaling.

dxaReserved1 (2 bytes): This value MUST be 0 and MUST be ignored.

dyaReserved1 (2 bytes): This value MUST be 0 and MUST be ignored.

dxaReserved2 (2 bytes): This value MUST be 0 and MUST be ignored.

dyaReserved2 (2 bytes): This value MUST be 0 and MUST be ignored.

fReserved (8 bits): This value MUST be 0 and MUST be ignored.

bpp (8 bits):  This field is unused and MUST be ignored.

brcTop80 (4 bytes): A Brc80 structure that specifies what border to render above the picture.

brcLeft80 (4 bytes): A Brc80 structure that specifies what border to render to the left of the picture.

brcBottom80 (4 bytes): A Brc80 structure that specifies what border to render below the picture.

brcRight80 (4 bytes): A Brc80 structure that specifies what border to render to the right of the picture.

dxaReserved3 (2 bytes): This value MUST be 0 and MUST be ignored.

dyaReserved3 (2 bytes): This value MUST be 0 and MUST be ignored.