gpt4 book ai didi

java - 如何在 Java 中旋转 BufferedImage?

转载 作者:行者123 更新时间:2023-12-01 14:57:59 26 4
gpt4 key购买 nike

Possible Duplicate:
Rotating BufferedImage instances

我当前使用的方法(如下)会导致 BufferedImage 随着角度参数的减小而变得越来越扭曲。

public static BufferedImage getRotatedImage(BufferedImage src, int angle) { 

if (src == null) {

System.out.println("getRotatedImage: input image is null");
return null;

}

int transparency = src.getColorModel().getTransparency();
BufferedImage dest = gc.createCompatibleImage(
src.getWidth(), src.getHeight(), transparency );
Graphics2D g2d = dest.createGraphics();

AffineTransform origAT = g2d.getTransform();

AffineTransform rot = new AffineTransform();
rot.rotate(Math.toRadians(angle), src.getWidth()/2, src.getHeight()/2);
g2d.transform(rot);

g2d.drawImage(src, 0, 0, null);

g2d.setTransform(origAT);
g2d.dispose();

return dest;

最佳答案

that becomes increasingly distorted with smaller angle arguments.

听起来你正在做:

 img = base_img;
for (i = 0; i < n; i++) {
img = rotate(img, theta);
}

当你真正想做的事情时:

for (i = 0; i < n; i++) {
img = rotate(base_img, theta * n);
}

但我可能做出了不真实的假设。

关于java - 如何在 Java 中旋转 BufferedImage?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14097856/

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