gpt4 book ai didi

java - 水平翻转 BufferedImage

转载 作者:行者123 更新时间:2023-11-30 02:54:18 24 4
gpt4 key购买 nike

我使用以下代码水平翻转图像。它可以工作,但是图像会同时水平翻转和垂直翻转。面向右的图像现在面向左,但也垂直翻转。如何停止垂直翻转?代码:

public static BufferedImage createRotated( BufferedImage image)
{
AffineTransform at = AffineTransform.getRotateInstance(
Math.PI, image.getWidth()/2, image.getHeight()/2 );
return createTransformed(image, at);
}

public static BufferedImage createTransformed( BufferedImage image, AffineTransform at)
{
BufferedImage newImage = new BufferedImage(
image.getWidth(), image.getHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics2D gg = newImage.createGraphics();
gg.transform(at);
gg.drawImage(image, 0, 0, null);
gg.dispose();
return newImage;
}

最佳答案

因为您将图像旋转 180 度,而不是翻转它。

改用AffineTransform.getScaleInstance(-1, 1);

编辑:从这里:https://stackoverflow.com/a/9559043/1542532

// Flip the image horizontally
tx = AffineTransform.getScaleInstance(-1, 1);
tx.translate(-image.getWidth(null), 0);

您还必须平移图像,因为比例会将图像向左移动。

关于java - 水平翻转 BufferedImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37706228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com