SECTION 7.6
573
Color Space and Rendering Issues
7.6.4 Rendering Parameters and Transparency
The opaque imaging model has several graphics state parameters dealing with the
rendering of color: the current halftone (see Section 6.4.4, “Halftone Diction-
functions (Section 6.2.3, “Conversion from DeviceRGB to DeviceCMYK”). All of
these rendering parameters can be specified on a per-object basis; they control
how a particular object is rendered. When all objects are opaque, it is easy to define
what this means. But when they are transparent, more than one object can con-
tribute to the color at a given point; it is unclear which rendering parameters to ap-
ply in an area where transparent objects overlap. At the same time, the transparent
imaging model should be consistent with the opaque model when only opaque ob-
jects are painted.
Furthermore, some of the rendering parameters—the halftone and transfer func-
tions, in particular—can be applied only when the final color at a given point is
known. In the presence of transparency, these parameters must be treated some-
what differently from those (rendering intent, black generation, and undercolor
removal) that apply whenever colors must be converted from one color space to
another. When objects are transparent, the rendering of an object does not occur
when the object is specified but at some later time. Hence, for rendering param-
eters in the former category, the implementation must keep track of the rendering
parameters at each point from the time they are specified until the time the ren-
dering actually occurs. This means that these rendering parameters must be asso-
ciated with regions of the page rather than with individual objects.
Halftone and Transfer Function
The halftone and transfer function to be used at any given point on the page are
those in effect at the time of painting the last (topmost) elementary graphics object
enclosing that point, but only if the object is fully opaque. (Only elementary objects
are relevant; the rendering parameters associated with a group object are ignored.)
The
topmost object
at any point is defined to be the topmost elementary object in
the entire page stack that has a nonzero object shape value
(f
j
)
at that point (that is,
for which the point is inside the object). An object is considered to be
fully opaque
if all of the following conditions hold at the time the object is painted:
•
The current alpha constant in the graphics state (stroking or nonstroking, de-
pending on the painting operation) is 1.0.