Summary: Constants | Ctors | Methods | Inherited Methods | [Expand All]
public class

# Shading

extends Object

java.lang.Object
↳ | com.pdftron.pdf.Shading

## Class Overview

Shading is a class that represents a flat interface around all PDF shading types: - In Function-based (type 1) shadings, the color at every point in the domain is defined by a specified mathematical function. The function need not be smooth or continuous. This is the most general of the available shading types, and is useful for shadings that cannot be adequately described with any of the other types. - Axial shadings (type 2) define a color blend along a line between two points, optionally extended beyond the boundary points by continuing the boundary colors. - Radial shadings (type 3) define a color blend that varies between two circles. Shadings of this type are commonly used to depict three-dimensional spheres and cones. - Free-form Gouraud-shaded triangle mesh shadings (type 4) and lattice gouraud shadings (type 5) are commonly used to represent complex colored and shaded three-dimensional shapes. The area to be shaded is defined by a path composed entirely of triangles. The color at each vertex of the triangles is specified, and a technique known as Gouraud interpolation is used to color the interiors. The interpolation functions defining the shading may be linear or nonlinear. - Coons patch mesh shadings (type 6) are constructed from one or more color patches, each bounded by four cubic Bezier curves. A Coons patch generally has two independent aspects: - Colors are specified for each corner of the unit square, and bilinear interpolation is used to fill in colors over the entire unit square
- Coordinates are mapped from the unit square into a four-sided patch whose sides are not necessarily linear. The mapping is continuous: the corners of the unit square map to corners of the patch and the sides of the unit square map to sides of the patch. - Tensor-product patch mesh shadings (type 7) are identical to type 6 (Coons mesh), except that they are based on a bicubic tensor-product patch defined by 16 control points, instead of the 12 control points that define a Coons patch. The shading Patterns dictionaries representing the two patch types differ only in the value of the Type entry and in the number of control points specified for each patch in the data stream. Although the Coons patch is more concise and easier to use, the tensor- product patch affords greater control over color mapping.

## Summary

Constants
int | e_axial_shading | The Constant e_axial_shading.
int | e_coons_shading | The Constant e_coons_shading.
int | e_free_gouraud_shading | The Constant e_free_gouraud_shading.
int | e_function_shading | The Constant e_function_shading.
int | e_lattice_gouraud_shading | The Constant e_lattice_gouraud_shading.
int | e_null | The Constant e_null.
int | e_radial_shading | The Constant e_radial_shading.
int | e_tensor_shading | The Constant e_tensor_shading.

Public Constructors
| Shading(Obj shading_dict) Create a Shading from the given SDF/Cos object listed under /Shading entry in the page Resource dictionary.

Public Methods
boolean | getAntialias() check if shading is anti-alias.
Rect | getBBox() Get the bounding box Note: Use HasBBox() method to determine whether the shading has a background color.
ColorPt | getBackground() An color point represented in base color space specifying a single background color value.
ColorSpace | getBaseColorSpace() Get the base color space.
ColorPt | getColor(double t1, double t2) Get the color for the given value of the parametric variables Note: for shadings other than Function this method throws an exception.
ColorPt | getColor(double t) Get the color point from parametric varible t Note: for shadings other than Axial or Radial this method throws an exception.
double[] | getCoords() Get the starting and ending coordinates of the axis, expressed in the shading's target coordinate space.
double[] | getCoordsRadial() Get the coords radial.
double[] | getDomain() Get the domain.
Matrix2D | getMatrix() Get the transformation matrix.
double | getParamEnd() Get the number specifying the limiting value of a parametric variable t.
double | getParamStart() Get the number specifying the limiting value of a parametric variable t.
Obj | getSDFObj() Get the SDFObj.
int | getType() Get this shading object's type
static int | getType(Obj shading_dict) Get the shading type from specifed shading object
boolean | hasBBox() Checks for bounding box
boolean | hasBackground() Checks for background.
boolean | isExtendEnd() Checks whether to extend the shading beyond the ending point of the axis for Axial shading or ending circle for Radial shading.
boolean | isExtendStart() Checks whether to extend the shading beyond the starting point of the axis for Axial shading or starting circle for Radial shading.

[Expand] Inherited Methods
From class java.lang.Object
boolean | equals(Object arg0)
final Class<?> | getClass()
int | hashCode()
final void | notify()
final void | notifyAll()
String | toString()
final void | wait(long arg0, int arg1)
final void | wait(long arg0)
final void | wait()

## Constants

#### public static final int e_axial_shading

The Constant e_axial_shading.

Constant Value: 1 (0x00000001)

#### public static final int e_coons_shading

The Constant e_coons_shading.

Constant Value: 5 (0x00000005)

#### public static final int e_free_gouraud_shading

The Constant e_free_gouraud_shading.

Constant Value: 3 (0x00000003)

#### public static final int e_function_shading

The Constant e_function_shading.

Constant Value: 0 (0x00000000)

#### public static final int e_lattice_gouraud_shading

The Constant e_lattice_gouraud_shading.

Constant Value: 4 (0x00000004)

#### public static final int e_null

The Constant e_null.

Constant Value: 7 (0x00000007)

#### public static final int e_radial_shading

The Constant e_radial_shading.

Constant Value: 2 (0x00000002)

#### public static final int e_tensor_shading

The Constant e_tensor_shading.

Constant Value: 6 (0x00000006)

## Public Constructors

#### public Shading (Obj shading_dict)

Create a Shading from the given SDF/Cos object listed under /Shading entry in the page Resource dictionary.

##### Parameters

shading_dict | the shading dictionary object

## Public Methods

#### public boolean getAntialias ()

check if shading is anti-alias.

##### Returns

- A flag indicating whether to filter the shading function to prevent aliasing artifacts. See Table 4.25

##### Throws

PDFNetException |

#### public Rect getBBox ()

Get the bounding box

Note: Use HasBBox() method to determine whether the shading has a background color.

##### Returns

- a rectangle giving the left, bottom, right, and top coordinates, respectively, of the shading's bounding box. The coordinates are interpreted in the shading's target coordinate space. If present, this bounding box is applied as a temporary clipping boundary when the shading is painted, in addition to the current clipping path and any other clipping boundaries in effect at that time.

##### Throws

PDFNetException |

#### public ColorPt getBackground ()

An color point represented in base color space specifying a single background color value. If present, this color is used before any painting operation involving the shading, to fill those portions of the area to be painted that lie outside the bounds of the shading object itself. In the opaque imaging model, the effect is as if the painting operation were performed twice: first with the background color and then again with the shading.

Note: The background color is applied only when the shading is used as part of a shading pattern, not when it is painted directly with the sh operator.

Use HasBackground() method to determine whether the shading has a background color.

##### Returns

- the background color point

##### Throws

PDFNetException |

#### public ColorSpace getBaseColorSpace ()

Get the base color space.

##### Returns

- The color space in which color values are expressed. This may be any device, CIE-based, or special color space except a Pattern space.

##### Throws

PDFNetException |

#### public ColorPt getColor (double t1, double t2)

Get the color for the given value of the parametric variables

Note: for shadings other than Function this method throws an exception.

##### Parameters

t1 | a parametric varible
t2 | a parametric varible

##### Returns

- a color point for the given value of parametric variable (t1, t2).

##### Throws

PDFNetException |

#### public ColorPt getColor (double t)

Get the color point from parametric varible t

Note: for shadings other than Axial or Radial this method throws an exception.

##### Parameters

t | parametric variable t

##### Returns

- a color point for the given value of parametric variable t.

##### Throws

PDFNetException |

#### public double[] getCoords ()

Get the starting and ending coordinates of the axis, expressed in the shading's target coordinate space.

Note: for shadings other than Axial this method throws an exception.

##### Returns

- for Axial shading returns four numbers (out_x0, out_y0, out_x1, out_y1) specifying the starting and ending coordinates of the axis, expressed in the shading's target coordinate space.

##### Throws

PDFNetException |

#### public double[] getCoordsRadial ()

Get the coords radial.

Note: for shadings other than Radial this method throws an exception.

##### Returns

- for Radial shading returns six numbers (x0 y0 r0 x1 y1 r1) specifying the centers and radii of the starting and ending circles, expressed in the shading's target coordinate space. The radii r0 and r1 must both be greater than or equal to 0. If one radius is 0, the corresponding circle is treated as a point; if both are 0, nothing is painted.

##### Throws

PDFNetException |

#### public double[] getDomain ()

Get the domain.

Note: for shadings other than Function this method throws an exception.

##### Returns

- An array of four numbers [xmin xmax ymin ymax] specifying the rectangular domain of coordinates over which the color function(s) are defined. If the function does not contain /Domain entry the function returns: [0 1 0 1].

##### Throws

PDFNetException |

#### public Matrix2D getMatrix ()

Get the transformation matrix.

Note: for shadings other than Function this method throws an exception.

##### Returns

- a matrix specifying a mapping from the coordinate space specified by the Domain entry into the shading's target coordinate space.

##### Throws

PDFNetException |

#### public double getParamEnd ()

Get the number specifying the limiting value of a parametric variable t.

Note: the returned value corresponds to the second value in Domain array.

for shadings other than Axial or Radial this method throws an exception.

##### Returns

- a number specifying the limiting value of a parametric variable t. The variable is considered to vary linearly between GetParamStart() and GetParamEnd() as the color gradient varies between the starting and ending points of the axis for Axial shading or circles for Radial shading. The variable t becomes the input argument to the color function(s).

##### Throws

PDFNetException |

#### public double getParamStart ()

Get the number specifying the limiting value of a parametric variable t.

Note: the returned value corresponds to the first value in Domain array.

for shadings other than Axial or Radial this method throws an exception.

##### Returns

- a number specifying the limiting value of a parametric variable t. The variable is considered to vary linearly between GetParamStart() and GetParamEnd() as the color gradient varies between the starting and ending points of the axis for Axial shading or circles for Radial shading. The variable t becomes the input argument to the color function(s).

##### Throws

PDFNetException |

#### public Obj getSDFObj ()

Get the SDFObj.

##### Returns

- the underlying SDF/Cos object

#### public int getType ()

Get this shading object's type

##### Returns

- shading type

##### Throws

PDFNetException |

#### public static int getType (Obj shading_dict)

Get the shading type from specifed shading object

##### Parameters

shading_dict | input shading dictionary object

##### Returns

- The Type of a given SDF/Cos shading dictionary, or e_null for if SDF object is not a valid shading object

##### Throws

PDFNetException |

#### public boolean hasBBox ()

Checks for bounding box

##### Returns

- true if shading has a bounding box, false otherwise.

##### Throws

PDFNetException |

#### public boolean hasBackground ()

Checks for background.

##### Returns

- true if the shading has a background color or false otherwise.

##### Throws

PDFNetException |

#### public boolean isExtendEnd ()

Checks whether to extend the shading beyond the ending point of the axis for Axial shading or ending circle for Radial shading.

Note: for shadings other than Axial or Radial this method throws an exception.

##### Returns

- a flag specifying whether to extend the shading beyond the ending point of the axis for Axial shading or ending circle for Radial shading.

##### Throws

PDFNetException |

#### public boolean isExtendStart ()

Checks whether to extend the shading beyond the starting point of the axis for Axial shading or starting circle for Radial shading.

Note: for shadings other than Axial or Radial this method throws an exception.

##### Returns

- a flag specifying whether to extend the shading beyond the starting point of the axis for Axial shading or starting circle for Radial shading.

##### Throws

PDFNetException |