我试图将图像左右旋转90度。

但是由于某种原因,此过程的输出会导致损坏。

这是我的代码:
(它很时髦,但不需要太多的想象力就可以假装它的java)

void rotate(File file){
    def image = ImageIO.read(file);
    double theta  = Math.PI / 2;
    def w = image.width / 2;
    def h = image.height / 2;

    def transform = new AffineTransform();
    transform.rotate(theta, h, w);
    def op = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
    image = op.filter(image, null);

    def name = file.getName();
    def type = name.substring(name.lastIndexOf(".") + 1, name.length());
    ImageIO.write(image,type,file);
}


原版的:


旋转:

最佳答案

如果您指的是颜色变化,请取出滤镜。如果我正确理解语法的话,那将给您带来负面印象。

每当我使用转换时,我都会关闭过滤器并手动处理。确实需要花费很多时间,但事实证明它们总是更有用。只是一个建议。

07-28 00:55
查看更多