import java.awt.Font;
import java.awt.geom.AffineTransform;
import java.awt.Graphics2D;
import java.awt.Graphics;
/**
* Partial program for flipping, mirroring and rotating images.
*/
private void buildTransform ()
{
transform = new AffineTransform();
transform.translate( getWidth() / 2.0, getHeight() / 2.0 );
if ( flip )
{
transform.scale( 1.0, -1.0 );
}
if ( mirror )
{
transform.scale( -1.0, 1.0 );
}
if ( rotateDegrees != 0 )
{
if ( rotateDegrees % 90 == 0 )
{
transform.quadrantRotate( rotateDegrees / 90 );
}
else
{
transform.rotate( Math.toRadians( rotateDegrees ) );
}
}
transform.translate( -getWidth() / 2.0, -getHeight() / 2.0 );
}
public void paintComponent ( Graphics g )
{
super.paintComponent( g );
Graphics2D g2 = (Graphics2D)g;
AffineTransform origTransform = g.getTransform();
g.setTransform ( transformer );
g.drawImage( image,
0,
0,
width,
height,
this );/* this component */
g.setTransform( origTransform );
}