3.2.33.1 EmfPlusObject Example

This section provides an example of the EmfPlusObject record (section 2.3.5.1).

 00000620: 08 40 01 02 30 00 00 00 24 00 00 00 02 10 C0 DB
 00000630: 00 00 00 00 80 00 00 00 02 00 00 00 00 00 80 3F
 00000640: 00 00 00 00 02 10 C0 DB 00 00 00 00 00 00 00 FF


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

Type (0x4008)

Flags (0x0201)

Size (0x00000030)

DataSize (0x00000024)

ObjectTypePen

Type (2 bytes): 0x4008 identifies the record type as EmfPlusObject.

Flags (2 bytes): 0x0201 specifies an EmfPlusPen object (section 2.2.1.7) from the ObjectType enumeration (section 2.1.1.21), and index 0x01 for the graphics object in the EMF+ Object Table (section 3.1.2).

Size (4 bytes): 0x00000030 specifies the size in bytes of the entire record.

DataSize (4 bytes): 0x00000024 specifies the size in bytes of the record-specific data that follows.

ObjectTypePen (4 bytes): An EmfPlusPen object that specifies the graphics pen defined by this object record.


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

Version (0xDBC01002)

Type (0x00000000)

PenData (variable)

...

BrushObject (variable)

...

Version (4 bytes): 0xDBC01002 specifies the graphics version that was used to create the EmfPlusPen object in this record. The value 0xDBC01002 corresponds to GDI+ version 1.1.

Type (4 bytes): 0x00000000 is not used.

PenData (variable): An EmfPlusPenData object (section 2.2.2.33) that specifies the characteristics of the graphics pen, including both required and optional fields.


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

PenDataFlags (0x00000080)

PerUnit (0x00000002)

PenWidth (0x3F800000)

OptionalData (0x00000000)

PenDataFlags (4 bytes): 0x00000080 specifies that a dashed-line offset value is present in the OptionalData field of this object. This is a value from the PenData flags (section 2.1.2.7).

PenUnit (4 bytes): 0x00000002 specifies a unit of one pixel for the pen, from the UnitType enumeration (section 2.1.1.32).

PenWidth (4 bytes): 0x3F800000 specifies a floating-point value that is the width of the stroke drawn by the pen, in the units specified by the PenUnit field.

OptionalData (4 bytes): 0x00000000 specifies a zero dashed-line offset.

BrushObject (variable): An EmfPlusBrush object (section 2.2.1.1) that specifies the graphics brush associated with the pen.


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

Version (0xDBC01002)

Type (0x00000000)

BrushData (0xFF000000)

Version (4 bytes): 0xDBC01002 specifies the graphics version that was used to create the EmfPlusBrush object in this record.

Type (4 bytes): 0x00000000 specifies a solid color brush from the BrushType enumeration (section 2.1.1.3).

BrushData (4 bytes): 0xFF000000 specifies a blue brush color.