java中实现图片的水平翻转
找了很多资料,网上看了很多翻转,都没有我想要的,现在终于找到了,但是经过自己的加工的!
在游戏设计时会有用的哦!如将向右人物图像,用代码翻转,可以减少图片资源的使用。
不多说了,直接看代码:
public AffineTransform flip(ImageIcon icon,int x,int y) {
Image img = icon.getImage();
AffineTransform transform = new AffineTransform();
transform.scale(-1, 1);
transform.translate(-2 * img.getWidth(null) / 2,
0 * img.getHeight(null) / 2);
transform.translate((double) -x, (double) y);
return transform;
}
将图片显示在屏幕上,则用Graphics2D类中的drawImage()方法。
代码:
Graphics2D g2 = (Graphics2D)g;
g2.drawImage(img,transform,this) ;