Cualquier Shape puede usarse como un path de recortado que restringe las porciones del �rea de dibujo que ser�n renderizadas. El path de recortado forma parte del contexto Graphics2D; para seleccionar el atributo clip, se llama a Graphics2D.setClip y se pasa a la Shape que define el path de recortado que queramos usar. Podemos reducir el path de recortado llamando al m�todo clip y pas�ndolo en otra Shape; el atributo clip se configura a la intersecci�n entre el clip actual y el Shape especificado.
�Ejemplo: ClipImage
Este ejemplo anima un path de recortado para revelar diferentes porciones de una imagen:
Esta es una imagen del GUI del applet. Para ajecutar el applet, pulsa sobre ella. El applet aparecer� en una nueva ventana del navegador.
ClipImage.java contiene todo el c�digo de este applet. El applet requiere el fichero de imagen clouds.jpg.
El path de recortado est� definido por la intersecci�n de una elipse y un rect�ngulo cuyas dimensiones son aleatorias. La elipse se pasa al m�todo setClip , y luego se llama al m�todo clip para seleccionar el path de recortado a la intersecci�n entre la elipse y el rect�ngulo.
private Ellipse2D ellipse = new Ellipse2D.Float(); private Rectangle2D rect = new Rectangle2D.Float(); ... ellipse.setFrame(x, y, ew, eh); g2.setClip(ellipse); rect.setRect(x+5, y+5, ew-10, eh-10); g2.clip(rect);
�Ejemplo: Starry
Un �rea de recortado tambi�n puede crearse desde una cadena de texto existente. El siguiente ejemplo crea un TextLayout con la cadena The Starry Night. Luego, obtiene una l�nea exterior del TextLayout. El m�todo TextLayout.getOutline devuelve un objeto Shape y un Rectangle creado a partir de los l�mites del objeto Shape. Los l�mites contienen todos los pixels que layout puede dibujar. El color en el contexto gr�fico se selecciona a azul y se dibuja la figura exterior de la forma, como ilustran la siguiente imagen y el fragmento de c�digo.

FontRenderContext frc = g2.getFontRenderContext(); Font f = new Font("Helvetica", 1, w/10); String s = new String("The Starry Night"); TextLayout tl = new TextLayout(s, f, frc); AffineTransform transform = new AffineTransform(); Shape outline = textTl.getOutline(null); Rectangle r = outline.getBounds(); transform = g2.getTransform(); transform.translate(w/2-(r.width/2), h/2+(r.height/2)); g2.transform(transform); g2.setColor(Color.blue); g2.draw(outline);
Luego, se selecciona un �rea de recortado en el contexto gr�fico usando el objeto Shape creado a partir de getOutline. La imagen starry.gif, que es una pintura famosa de Van Gogh, The Starry Night, se dibuja dentro de �rea de recortado que empieza en la esquina inferior izquierda del objeto Rectangle.
g2.setClip(outline); g2.drawImage(img, r.x, r.y, r.width, r.height, this);

Esta es una imagen del GUI del applet. Para ajecutar el applet, pulsa sobre ella. El applet aparecer� en una nueva ventana del navegador.
Starry.java contiene el c�digo completo de este programa. El applet requiere el fichero de imagen Starry.gif.