我想使用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