【问题标题】:Drawing/warping a rectangular image into a quadrilateral image将矩形图像绘制/变形为四边形图像
【发布时间】:2012-01-13 15:57:07
【问题描述】:

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

我希望猫被变形以绘制在四边形内。

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

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

【问题讨论】:

    标签: java image graphics


    【解决方案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

    【讨论】:

      【解决方案2】:

      您可以在此处的 https://github.com/hfossli/AGGeometryKit/ 中找到如何在 Objective-c 中执行此操作的代码。我确定可以移植到java。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多