Previous Next


                                          550
CHAPTER 7                                                                  Transparency



All elementary objects have an intrinsic opacity qj of 1.0 everywhere. Any desired
opacity less than 1.0 must be applied by means of an opacity mask or constant, as
described in the following sections.


Mask Shape and Opacity

At most one mask input—called a soft mask, or alpha mask—can be provided to
any PDF compositing operation. The mask can serve as a source of either shape
(fm ) or opacity (qm ) values, depending on the setting of the alpha source parame-
ter in the graphics state (see Section 4.3, “Graphics State”). This is a boolean flag,
set with the AIS (“alpha is shape”) entry in a graphics state parameter dictionary
(Section 4.3.4, “Graphics State Parameter Dictionaries”): true if the soft mask
contains shape values, false for opacity.

The soft mask can be specified in one of the following ways:

• The current soft mask parameter in the graphics state, set with the SMask entry
  in a graphics state parameter dictionary, contains a soft-mask dictionary (see
  “Soft-Mask Dictionaries” on page 552) defining the contents of the mask. The
  name None may be specified in place of a soft-mask dictionary, denoting the
  absence of a soft mask. In this case, the mask shape or opacity is implicitly 1.0
  everywhere. (See implementation note 72 in Appendix H.)
• An image XObject can contain its own soft-mask image in the form of a subsid-
  iary image XObject in the SMask entry of the image dictionary (see Section
  4.8.4, “Image Dictionaries”). This mask, if present, overrides any explicit or col-
  or key mask specified by the image dictionary’s Mask entry. Either form of
  mask in the image dictionary overrides the current soft mask in the graphics
  state. (See implementation note 73 in Appendix H.)
• An image XObject that has a JPXDecode filter as its data source can specify an
  SMaskInData entry, indicating that the soft mask is embedded in the data
  stream (see Section 3.3.8, “JPXDecode Filter”).

Note: The current soft mask in the graphics state is intended to be used to clip only a
single object at a time (either an elementary object or a transparency group). If a
soft mask is applied when painting two or more overlapping objects, the effect of the
mask multiplies with itself in the area of overlap (except in a knockout group), pro-
ducing a result shape or opacity that is probably not what is intended. To apply a
soft mask to multiple objects, it is usually best to define the objects as a transparency

Previous Next