SECTION 4.6
307
Patterns
difference arises because the two color spaces are not linear relative to each other.
Shadings are rendered according to the following rules:
•
If
ColorSpace
is a device color space different from the native color space of the
output device, color values in the shading are converted to the native color
space using the standard conversion formulas described in Section 6.2, “Con-
sions may take place at any time (before or after any interpolation on the color
values in the shading). Thus, shadings defined with device color spaces may
have color gradient fills that are less accurate and somewhat device-dependent.
(This does not apply to axial and radial shadings—shading types 2 and 3—be-
cause those shading types perform gradient fill calculations on a single variable
and then convert to parametric colors.)
•
If
ColorSpace
is a CIE-based color space, all gradient fill calculations are per-
formed in that space. Conversion to device colors occurs only after all interpo-
lation calculations have been performed. Thus, the color gradients are device-
independent for the colors generated at each point.
•
If
ColorSpace
is a
Separation
or
DeviceN
color space and the specified colo-
rants are supported, no color conversion calculations are needed. If the speci-
fied colorants are not supported (so that the space’s alternate color space must
be used), gradient fill calculations are performed in the designated
Separation
or
DeviceN
color space before conversion to the alternate space. Thus, non-
linear tint transformation functions are accommodated for the best possible
representation of the shading.
•
If
ColorSpace
is an
Indexed
color space, all color values specified in the shading
are immediately converted to the base color space. Depending on whether the
base color space is a device or CIE-based space, gradient fill calculations are
performed as stated above. Interpolation never occurs in an
Indexed
color
space, which is quantized and therefore inappropriate for calculations that as-
sume a continuous range of colors. For similar reasons, an
Indexed
color space
is not allowed in any shading whose color values are generated by a function;
this rule applies to any shading dictionary that contains a
Function
entry.
Shading Types
In addition to the entries listed in Table 4.28, all shading dictionaries have entries
specific to the type of shading they represent, as indicated by the value of their