我正在尝试使用Java Advanced Imaging API将方形图像绘制成梯形;然而,在创建PerspectiveTransform之后,我不确定如何将其应用于图形对象或图像。
当您应用JAI操作时,获取RenderedOp
,无论哪个操作(PerspectiveTransform,Scale ...)作为结果。如果您对同一图像应用多个操作,则表示链中的操作,因此下一个操作将应用于RenderedOp
,依此类推。最后,你需要绘制它,所以:
1)将其转换为RenderedImage
,以便将所有计算应用于最终图像。使用类似的东西:
new BufferedImage(renderedOp.getColorModel(), renderedOp.copyData(), false, null);
2)使用以下内容将图像绘制到Graphics
上:
Graphics2D graphics2D = (Graphics2D)graphics; // Convert the graphics received to Graphics2D to get more operations.
graphics2D.drawRenderedImage(renderedImage, new AffineTransform());