Previous Next
339
SECTION 4.8 Images
tation, reflection, and skew (see Section 4.2, “Coordinate Systems”). For example,
if the XObject subdictionary of the current resource dictionary defines the name
Image1 to denote an image XObject, the code shown in Example 4.27 paints the
image in a rectangle whose lower-left corner is at coordinates (100, 200), that is
rotated 45 degrees counterclockwise, and that is 150 units wide and 80 units high.
Example 4.27
q % Save graphics state
1 0 0 1 100 200 cm % Translate
0. 7071 0. 7071 −0. 7071 0. 7071 0 0 cm % Rotate
150 0 0 80 0 0 cm % Scale
/Image1 Do % Paint image
Q % Restore graphics state
(As discussed in Section 4.2.3, “Transformation Matrices,” these three transfor-
mations could be combined into one.) Of course, if the aspect ratio (width to
height) of the original image in this example is different from 150:80, the result
will be distorted.
4.8.4 Image Dictionaries
An image dictionary—that is, the dictionary portion of a stream representing an
image XObject—can contain the entries listed in Table 4.39 in addition to the
usual entries common to all streams (see Table 3.4 on page 62). There are many
relationships among these entries, and the current color space may limit the
choices for some of them. Attempting to use an image dictionary whose entries
are inconsistent with each other or with the current color space causes an error.
Note: The entries described here are appropriate for a base image—one that is in-
voked directly with the Do operator. Some of the entries are not relevant for images
used in other ways, such as for alternate images (see “Alternate Images” on page
347), image masks (Section 4.8.5, “Masked Images”), or thumbnail images (Section
8.2.3, “Thumbnail Images”). Except as noted, such irrelevant entries are simply ig-
nored.
Previous Next