2016-09-15 1 views
-2

Я хотел бы преобразовать в Java в BufferedImage, от прямоугольника произвольного выпуклого четырехугольника, подобно этому:Как сделать четырехкоординатное непрозрачное преобразование изображения в Java?

enter image description here

Но вместо того, чтобы использовать проективное преобразование, я хотел бы просто использовать линейное преобразование, которое растягивает и сжимает изображение, когда это необходимо, в соответствии с четырьмя координатами, которые я хочу, чтобы были углы конечного изображения.

Каков способ сделать это на Java?

Редактировать: Похоже, что одно решение состоит в том, чтобы нарисовать текстурированный Quad в GL, который деформируется, как я хочу, используя JOGL. Я не уверен в поддержке и эффективности, буду исследовать дальше.

+1

Мне хотелось бы, по крайней мере, объяснение для downvotes, что не так с моим вопросом? Я посмотрел на SO и Google, и я не нашел ответа :( –

+0

Забыть о хит-шоу и запустить downvoters, они самые худшие. Возможно, вы захотите взглянуть на [Hello Texture] (https://github.com/elect86/helloTriangle) образец шахты – elect

+0

спасибо за ответ, я закончил делать это вот так :) –

ответ

2

Я закончил тем, что написал свой класс в JOGL, который превращает BufferedImage в Texture, отображает его на квадрате и отображает его в OffscreenAutoDrawable. Наконец, это можно превратить в BufferedImage, используя AWTGLReadBufferUtil.readPixelsToBufferedImage().