Java Swing:Graphics2D旋转创建令人厌恶的边缘

Java Swing:Graphics2D旋转创建令人厌恶的边缘,java,swing,applet,paint,java-2d,Java,Swing,Applet,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)); g

我对图像的旋转有问题

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);
我使用此代码在绘制图片之前旋转图片(image是我创建的一个类,用于帮助我处理图片加载)

不幸的是,我的图像边缘有问题,变得非常糟糕(cf图片)

有没有办法提高抽签的质量


jason

试一试抗锯齿边和双线性变换怎么样?你可以看到一个例子。同时检查你的图像类型,这个例子使用了
缓冲图像

g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                   RenderingHints.VALUE_INTERPOLATION_BILINEAR);

试一试抗锯齿边缘和双线性变换怎么样?你可以看到一个例子。同时检查你的图像类型,这个例子使用了
缓冲图像

g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                   RenderingHints.VALUE_INTERPOLATION_BILINEAR);

据我回忆,最高质量的渲染将通过启用抗锯齿(您已经完成)、将插值设置为
VALUE\u interpolation\u BICUBIC
并将渲染设置为
VALUE\u RENDER\u quality

来驱动。据我回忆,最高质量的渲染将通过启用抗锯齿来驱动(已经完成),将插值设置为
VALUE\u interpolation\u BICUBIC
并将渲染设置为
VALUE\u RENDER\u QUALITY