我想使用AffineTransform旋转存储在ImageIcon中的动画gif。结果是图像没有被绘制。使用AffineTransform旋转动画GIF(ImageIcon)
这里是我的代码:
AffineTransform trans = AffineTransform.getRotateInstance(imgYaw, img.getImage().getWidth(null)/2, img.getImage().getHeight(null)/2);
AffineTransformOp transo = new AffineTransformOp(trans, AffineTransformOp.TYPE_BILINEAR);
BufferedImage bufferedimg = new BufferedImage(img.getImage().getWidth(null), img.getImage().getHeight(null), BufferedImage.TYPE_4BYTE_ABGR);
img.setImage(atransO.filter(bufferedimg, null));
img.paintIcon(null, g, x, y);
为什么不直接将图象画到'Graphics'背景下,其实,转型为何不适用于'Graphics'背景?对于[示例](http://stackoverflow.com/questions/20275424/rotating-image-with-affinetransform/20280225#20280225) – MadProgrammer 2014-09-23 22:34:54
@MadProgrammer因为如果我这样做,图像不会动画。 – user3697209 2014-09-23 22:37:02
@MadProgrammer如果您的意思是用'g.drawImage(transO.filter(bufferedimg,null),x - (img.getImage()。getWidth(null)/ 2),y - (img.getImage()。getWidth (null)/ 2),null);',那么图像甚至不会被绘制。 – user3697209 2014-09-23 22:38:43