Как применить PerspectiveTransform к графическому объекту или изображению? - PullRequest
3 голосов
/ 20 августа 2011

Я пытаюсь нарисовать квадратное изображение в трапеции, используя Java Advanced Imaging API; Однако после создания PerspectiveTransform я не уверен, как бы я применил его к графическому объекту или изображению.

1 Ответ

0 голосов
/ 10 сентября 2011

Когда вы применяете 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());
...