2013-05-27 46 views
1

所以我有一個正常的圖像。我在矩形圖像的每個角落定義了Click和Drag-Listeners。我想要自由地轉換每個角並在屏幕上繪製它。在任意角落畫一個圖像

AffineTransform類提供了轉換的可能性,但我找不到一種方法來實現這一點。

我已經在android中使用Matrix.setPolytoPoly方法實現了相同的功能。但是在java swing中沒有等價物。

謝謝!

編輯: 我想說明與下面的圖片此過程:

enter image description here

當我拖到一個角落左上角這應該發生。現在我遇到的問題是,我不相信人們可以用簡單的方式用純3x3矩陣來建模這樣的行爲。我查看了Android本機代碼來觀察行爲,但實際上在本機代碼中非常深入。

+0

你想_affine_或_projective_幾何嗎? – trashgod

+0

據我所知,投影幾何僅適用於向3d平面顯示3d物體。如果是這樣,那不是我想要的,因爲我當前的圖像是2d並且應該保持2d(但轉換爲任何四邊形)。 – Geki

+0

任意四邊形將需要投影幾何。 – trashgod

回答

3

任何想法如何做到這一點?

您的更新顯示轉換不是affine,因爲平行線不保持平行。 Java Advanced Imaging(JAI)通過抽象類Warp提供了所需的投射能力。