我需要在给定的四边形内绘制一个BufferedImage。 我想这样做:
我希望猫变形以在四边形内画出。
Graphics
个对象有不同的绘制图像的方法,但只能沿X轴和Y轴拉伸它们(参见Graphics.drawImage
方法)。
我梦寐以求的是方法Graphics.drawImage()
,其中我指定了4个四边形点的坐标。有没有一种简单的方法可以做到这一点?
答案 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。