FileDocCategorySizeDatePackage
TexturePaint.javaAPI DocJava SE 5 API3997Fri Aug 26 14:56:46 BST 2005java.awt

TexturePaint

public class TexturePaint extends Object implements Paint
The TexturePaint class provides a way to fill a {@link Shape} with a texture that is specified as a {@link 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 {@link 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
Paint
see
Graphics2D#setPaint
version
1.39, 12/19/03

Fields Summary
BufferedImage
bufImg
double
tx
double
ty
double
sx
double
sy
Constructors Summary
public TexturePaint(BufferedImage txtr, Rectangle2D anchor)
Constructs a TexturePaint object.

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

        this.bufImg = txtr;
	this.tx = anchor.getX();
	this.ty = anchor.getY();
	this.sx = anchor.getWidth() / bufImg.getWidth();
	this.sy = anchor.getHeight() / bufImg.getHeight();
    
Methods Summary
public java.awt.PaintContextcreateContext(java.awt.image.ColorModel cm, java.awt.Rectangle deviceBounds, java.awt.geom.Rectangle2D userBounds, java.awt.geom.AffineTransform xform, java.awt.RenderingHints hints)
Creates and returns a context used to generate the color pattern.

param
cm the {@link ColorModel} that receives the Paint data. This is used only as a hint.
param
deviceBounds the device space bounding box of the graphics primitive being rendered
param
userBounds the user space bounding box of the graphics primitive being rendered
param
xform the {@link AffineTransform} from user space into device space
param
hints a {@link RenderingHints} object that can be used to specify how the pattern is ultimately rendered
return
the {@link PaintContext} used for generating color patterns.
see
PaintContext

	if (xform == null) {
	    xform = new AffineTransform();
	} else {
	    xform = (AffineTransform) xform.clone();
	}
	xform.translate(tx, ty);
	xform.scale(sx, sy);

	return TexturePaintContext.getContext(bufImg, xform, hints,
					      deviceBounds);
    
public java.awt.geom.Rectangle2DgetAnchorRect()
Returns a copy of the anchor rectangle which positions and sizes the textured image.

return
the Rectangle2D used to anchor and size this TexturePaint.

	return new Rectangle2D.Double(tx, ty,
				      sx * bufImg.getWidth(),
				      sy * bufImg.getHeight());
    
public java.awt.image.BufferedImagegetImage()
Returns the BufferedImage texture used to fill the shapes.

return
a BufferedImage.

	return bufImg;
    
public intgetTransparency()
Returns the transparency mode for this TexturePaint.

return
the transparency mode for this TexturePaint as an integer value.
see
Transparency

        return (bufImg.getColorModel()).getTransparency();