Java 如何将透视变换应用于图形对象或图像?

Java 如何将透视变换应用于图形对象或图像?,java,image-processing,jai,Java,Image Processing,Jai,我正在尝试使用Java高级成像API将正方形图像绘制成梯形;然而,在创建透视变换后,我不确定如何将其应用于图形对象或图像 应用JAI操作时,获取renderop,无论哪个操作(透视变换、缩放…)作为结果。如果对同一图像应用多个操作,则表示链中的操作,因此下一个操作将应用于renderop,依此类推。最后,您需要绘制它,因此: 1) 将其转换为渲染图像,以便将所有计算应用于最终图像。使用类似于: new BufferedImage(renderedOp.getColorModel(), rende

我正在尝试使用Java高级成像API将正方形图像绘制成梯形;然而,在创建透视变换后,我不确定如何将其应用于图形对象或图像

应用JAI操作时,获取
renderop
,无论哪个操作(透视变换、缩放…)作为结果。如果对同一图像应用多个操作,则表示链中的操作,因此下一个操作将应用于
renderop
,依此类推。最后,您需要绘制它,因此:

1) 将其转换为渲染图像,以便将所有计算应用于最终图像。使用类似于:

new BufferedImage(renderedOp.getColorModel(), renderedOp.copyData(), false, null);
Graphics2D graphics2D = (Graphics2D)graphics; // Convert the graphics received to Graphics2D to get more operations.
graphics2D.drawRenderedImage(renderedImage, new AffineTransform());
2) 使用以下方法将图像绘制到
图形上

new BufferedImage(renderedOp.getColorModel(), renderedOp.copyData(), false, null);
Graphics2D graphics2D = (Graphics2D)graphics; // Convert the graphics received to Graphics2D to get more operations.
graphics2D.drawRenderedImage(renderedImage, new AffineTransform());
交叉张贴: