我的项目:我正在从int[]
创建一个地图/地形,输出是一个BufferedImage
。
问题:我想把BufferedImage
向后(大约x轴)倾斜25度。
也就是说,我想转换这个:
_____
| |
| |
| |
-----
变成这样
____
/ \
/ \
/ \
----------
我看到的是this answer,听上去jai的
PerspectiveTransform
可能起到了作用。问题:如何将
PerspectiveTransform
应用于BufferedImage
?这是将图像向后倾斜的正确方法吗? 最佳答案
看看Jhlabs过滤器:
http://www.jhlabs.com/ip/filters/index.html
尤其是“透视过滤器”。
编辑:
public void perspective() throws Exception{
BufferedImage srcImage = ImageIO.read(new File("flower.jpg"));
BufferedImage destImage = null;
int w = srcImage.getWidth();
int h = srcImage.getHeight();
PerspectiveFilter perspectiveFilter = new PerspectiveFilter();
perspectiveFilter.setCorners(w/4, 0, w-w/4, 0, w, h, 0, h);
destImage = perspectiveFilter.filter(srcImage, destImage);
ImageIO.write(destImage,"jpg",new File("modified_flower.jpg"));
}
此代码将从以下位置转换图像:
对此:
关于java - 绕x轴倾斜BufferedImage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11476434/