Java Swing:Graphics2D旋转创建令人作呕的边缘

Jas*_*ers 1 java applet swing paint java-2d

我的图像旋转有问题

Graphics2D g2 = (Graphics2D) g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
AffineTransform at = new AffineTransform();
at.setToIdentity();
at.translate(x, y);
at.rotate(Math.toRadians(angle));
g2.transform(at);
image.paintIcon(c, g2);
Run Code Online (Sandbox Code Playgroud)

我使用此代码在绘制之前旋转图片(图像是我创建的一个类,以帮助我处理图片的加载.

不幸的是,我遇到了图像边缘变得非常糟糕的问题(参见图片) 在此输入图像描述

我有什么想法可以提高抽奖的质量?

贾森

Dan*_*ras 5

尝试抗锯齿边缘和双线性变换怎么样?你可以在这里看到一个例子.还要检查你的图像类型,例子使用a BufferedImage.

g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                   RenderingHints.VALUE_INTERPOLATION_BILINEAR);
Run Code Online (Sandbox Code Playgroud)