CHAPTER 4
344
Graphics
stream
9LhZI9h\GY9i+bb;,p:e;G9SP92/)X9MJ>^:f14d;,U(X8P;cO;G9e];c$=k9Mn\]
… Image data representing 65,536 samples …
8P;cO;G9e];c$=k9Mn\]~>
endstream
endobj
23 0 obj
<< /Length 56 >>
stream
q
132 0 0 132 45 140 cm
/Im1 Do
Q
endstream
endobj
% Contents of page
% Save graphics state
% Translate to (45,140) and scale by 132
% Paint image
% Restore graphics state
Decode Arrays
An image’s data stream is initially decomposed into integers in the domain 0 to
2
n
−
1, where
n
is the value of the image dictionary’s
BitsPerComponent
entry.
The image’s
Decode
array specifies a linear mapping of each integer component
value to a number that would be appropriate as a component value in the image’s
color space.
Each pair of numbers in a
Decode
array specifies the lower and upper values to
which the domain of sample values in the image is mapped. A
Decode
array con-
tains one pair of numbers for each component in the color space specified by the
image’s
ColorSpace
entry. The mapping for each color component is a linear
transformation; that is, it uses the following formula for linear interpolation:
y
=
Interpolate
(
x
,
x
min
,
x
max
,
y
min
,
y
max
)
y
max
–
y
min
⎞
⎛
=
y
min
+
⎜
(
x
–
x
min
) ×
----------------------------
⎟
x
max
–
x
min
⎠
⎝
Generally, this formula is used to convert a value
x
between
x
min
and
x
max
to a
corresponding value
y
between
y
min
and
y
max
, projecting along the line defined
by the points (x
min
,
y
min
) and (x
max
,
y
max
). While this formula applies to values
outside the domain
x
min
to
x
max
and does not require that
x
min
<
x
max
, note that
interpolation used for color conversion, such as the
Decode
array, does require