Class TexturePaint

All Implemented Interfaces:
Paint, Transparency
public class TexturePaint
extends Object
implements Paint

The TexturePaint class provides a way to fill a Shape with a texture that is specified as a BufferedImage. The size of the BufferedImage object should be small because the BufferedImage data is copied by the TexturePaint object. At construction time, the texture is anchored to the upper left corner of a Rectangle2D that is specified in user space. Texture is computed for locations in the device space by conceptually replicating the specified Rectangle2D infinitely in all directions in user space and mapping the BufferedImage to each replicated Rectangle2D.

See Also:
Paint, Graphics2D.setPaint(java.awt.Paint)

Field Summary

Fields declared in interface java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Constructor Summary

Constructors
Constructor Description
TexturePaint​(BufferedImage txtr, Rectangle2D anchor)

Constructs a TexturePaint object.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
PaintContext createContext​(ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints)

Creates and returns a PaintContext used to generate a tiled image pattern.

Rectangle2D getAnchorRect()

Returns a copy of the anchor rectangle which positions and sizes the textured image.

BufferedImage getImage()

Returns the BufferedImage texture used to fill the shapes.

int getTransparency()

Returns the transparency mode for this TexturePaint.

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

TexturePaint

public TexturePaint​(BufferedImage txtr,
                    Rectangle2D anchor)

Constructs a TexturePaint object.

Parameters:
txtr - the BufferedImage object with the texture used for painting
anchor - the Rectangle2D in user space used to anchor and replicate the texture

Method Detail

getImage

public BufferedImage getImage()

Returns the BufferedImage texture used to fill the shapes.

Returns:
a BufferedImage.

getAnchorRect

public Rectangle2D getAnchorRect()

Returns a copy of the anchor rectangle which positions and sizes the textured image.

Returns:
the Rectangle2D used to anchor and size this TexturePaint.

createContext

public PaintContext createContext​(ColorModel cm,
                                  Rectangle deviceBounds,
                                  Rectangle2D userBounds,
                                  AffineTransform xform,
                                  RenderingHints hints)

Creates and returns a PaintContext used to generate a tiled image pattern. See the specification of the method in the Paint interface for information on null parameter handling.

Specified by:
createContext in interface Paint
Parameters:
cm - the preferred ColorModel which represents the most convenient format for the caller to receive the pixel data, or null if there is no preference.
deviceBounds - the device space bounding box of the graphics primitive being rendered.
userBounds - the user space bounding box of the graphics primitive being rendered.
xform - the AffineTransform from user space into device space.
hints - the set of hints that the context object can use to choose between rendering alternatives.
Returns:
the PaintContext for generating color patterns.
See Also:
Paint, PaintContext, ColorModel, Rectangle, Rectangle2D, AffineTransform, RenderingHints

getTransparency

public int getTransparency()

Returns the transparency mode for this TexturePaint.

Specified by:
getTransparency in interface Transparency
Returns:
the transparency mode for this TexturePaint as an integer value.
See Also:
Transparency