2011-05-26 134 views
0

快速的問題,可能是一個簡單的答案。我有一個方形圖像,但我想壓扁它,以便它是一個平行四邊形(這是我可以繪製一些立方體等軸測圖)c#圖像變換爲平行四邊形

我目前有我的圖像存儲在Image類。

回答

1

也許這是有幫助的: http://www.vcskicks.com/image-distortion.php

此代碼squishes圖像到任何四邊形,而不僅僅是一個平行四邊形。

+0

因此,這開始了我最終在這裏結束的旅程:http://msdn.microsoft.com/en-us/library/3b575a03.aspx。我對使用圖像失真類非常謹慎,因爲它警告說它非常慢。 – ohmusama 2011-05-26 21:58:12

+0

我前幾天寫了一些圖像處理,並且我發現如果您將圖像數據存儲在USHORT數組中並使用指針算術(不安全代碼)來處理它,那麼在百萬像素圖像上這幾乎是實時的。令人驚訝的是,它比在非託管C++類中做這件事更快,我也嘗試過。所以,如果你只需要將圖像轉換成平行四邊形就不可能是哈特編碼。只需使用Bresenham線算法將源圖像的行移動到新的位置即可。如果你需要一些關於指針算術的例子代碼,只需放下一個便條。 – elsni 2011-05-27 06:34:48

+0

我已經完成了指針運算,但只在C++中完成。我認爲它是一樣的。但作爲一種設計選擇,你認爲將(不安全)壓扁代碼封裝到dll中有什麼想法,那麼我不需要爲我的主項目安裝不安全的代碼。 – ohmusama 2011-05-27 11:29:54