将矩形图像绘制/扭曲成四边形图像

时间:2012-01-13 15:57:08

标签: java image graphics

我需要在给定的四边形内绘制一个BufferedImage。 我想这样做:

enter image description here

我希望猫变形以在四边形内画出。

Graphics个对象有不同的绘制图像的方法,但只能沿X轴和Y轴拉伸它们(参见Graphics.drawImage方法)。

我梦寐以求的是方法Graphics.drawImage(),其中我指定了4个四边形点的坐标。有没有一种简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:1)

我不知道使用标准java包做任何简单的方法。你当然可以为四角图像变形实现你自己的双线性或透视变换,但是谁想要做所有这些工作。

我认为最好的办法是研究Java Advanced Imaging API(javax.media.JAI)。这篇文章讨论了与JAI的透视变换:http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Geom-image-manip.doc.html#55959

答案 1 :(得分:1)

您可以在objective {c https://github.com/hfossli/AGGeometryKit/找到有关如何执行此操作的代码。我确信可以移植到java。