Setting the Clipping Area with a Shape
This example demonstrates how to set a clipping area using a shape.
The example sets an oval for the clipping area and then draws and
image. Only those pixels of the image that fall within the oval are
displayed.
// See The Quintessential Drawing Program
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D)g;
// Create an oval shape that's as large as the component
float fx = 0;
float fy = 0;
float fw = getSize().width-1;
float fh = getSize().height-1;
Shape shape = new java.awt.geom.Ellipse2D.Float(fx, fy, fw, fh);
// Set the clipping area
g2d.setClip(shape);
// Draw an image
int x = 0;
int y = 0;
g2d.drawImage(image, x, y, this);
}
Post a comment