Java旋转图像质量下降

Java旋转图像质量下降,java,image-processing,rotation,Java,Image Processing,Rotation,我有这个旋转图像的功能。虽然我失去了质量。有什么变化可以改善它吗 public BufferedImage RotateImage(String imagePath,int degrees) throws IOException{ File file = new File(imagePath); Image image = ImageIO.read(file); BufferedImage img=bufferImage(image, B

我有这个旋转图像的功能。虽然我失去了质量。有什么变化可以改善它吗

 public BufferedImage RotateImage(String imagePath,int degrees) throws IOException{ 
         File file = new File(imagePath);
         Image image = ImageIO.read(file);
         BufferedImage img=bufferImage(image, BufferedImage.TYPE_INT_RGB);

         AffineTransform tx = new AffineTransform();
         double radians = (Math.PI / 180) * degrees;

         double width = img.getWidth()/2;
         double height = img.getHeight()/2;

         if(degrees != 180){
             tx.translate(height,width);
             tx.rotate(radians);
             tx.translate(-width,-height);
         }else{                      
         tx.rotate(radians,width, height);
         }

         AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);
         img = op.filter(img, null);
         return img;
         }

AffineTransformOp.TYPE_NEAREST_NEIGHBOR
将始终使所有内容看起来像blergh。尝试使用
AffineTransformOp.TYPE_双线性
AffineTransformOp.TYPE_双三次
AffineTransformOp.TYPE_最近邻
将始终使一切看起来像blergh。尝试使用
AffineTransformOp.TYPE_双线性
AffineTransformOp.TYPE_双三次

。链接显示了每种方法的示例

AffineTransformOp op = 
    new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
。链接显示了每种方法的示例

AffineTransformOp op = 
    new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR);
试着用其中一个

尝试使用


其他几个提到的仿射变换过滤参数很重要,但它也取决于图像的编码方式。如果是JPEG,.

其他几个提到的仿射变换过滤参数很重要,但它也取决于图像的编码方式。如果是JPEG,.

请注意,如果您发布了一个,我们可以“尝试”其他大小调整技术。对于带有图像的SSCCE,在代码中生成一个图像,或直接在网络外生成指向图像的热链接,例如my上提供的一个图像。请注意,如果您发布了一个,我们可以“尝试”其他大小调整技术。对于带有图像的SSCCE,在代码中生成一个图像,或直接从网络上热链接到一个图像,例如,my上提供的一个图像。经过很好的尝试,图像完全失去了颜色。它会变成一些奇怪的绿色和蓝色。这听起来更像是图像或缓冲区的颜色空间的问题,而不是转换问题。经过很好的尝试,图像完全失去了颜色。它会变成一些奇怪的绿色和蓝色。这听起来更像是图像或缓冲区的颜色空间的问题,而不是转换问题。经过很好的尝试,图像完全失去了颜色。它变成了一些奇怪的绿色和蓝色。试过了,图像完全失去了颜色。它会变成一些奇怪的绿色和蓝色。