Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将矩形图像绘制/扭曲为四边形图像_Java_Image_Graphics - Fatal编程技术网

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

Java 将矩形图像绘制/扭曲为四边形图像,java,image,graphics,Java,Image,Graphics,我需要在给定的四边形内画一个缓冲区图像。 我想这样做: 我想让猫变形,画成四边形 Graphics对象有不同的方法来绘制图像,但只能沿X轴和Y轴拉伸图像(请参见Graphics.drawImage方法) 我梦想的是一种方法Graphics.drawImage(),其中我指定了4个四边形点的坐标。有什么简单的方法可以做到这一点吗?我不知道有什么简单的方法可以用标准java包做到这一点。当然,您可以为四角图像扭曲实现自己的双线性或透视变换,但谁愿意做这些工作呢 我认为最好的办法是研究Java高级成

我需要在给定的四边形内画一个缓冲区图像。 我想这样做:

我想让猫变形,画成四边形

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


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

我不知道有什么简单的方法可以用标准java包做到这一点。当然,您可以为四角图像扭曲实现自己的双线性或透视变换,但谁愿意做这些工作呢


我认为最好的办法是研究Java高级成像API(javax.media.JAI)。下面是一篇关于JAI透视变换的文章:

您可以在objective-c中找到如何进行透视变换的代码。我确信可以移植到java。

谢谢。我将尝试将其移植到java中。好的,很酷。您真正需要的是在此处找到的代码:。您应该能够使用该代码为java创建3d矩阵。这是相同的代码,在这个文件的底部找到你需要一个矩阵4行和列。。。我认为这样不行