2011-03-08 37 views
6

.NET框架提供了旋轉像素數組的好方法嗎?爲了更清楚,我不只是尋找一種方式來旋轉圖像。相反,我想旋轉圖像將基於的底層像素數組,以便可以訪問修改過的數組。如果.NET框架已經提供了一個很好的方法來做這件事,我寧願不實施一個旋轉算法或者換一個庫。我需要能夠支持任何旋轉,而不僅僅是90/180/270 /等。旋轉,這將很容易實現。什麼是旋轉像素陣列的好方法?

我曾考慮過使用支持這種類型旋轉的圖像類之一,然後從中訪問修改後的數組。我不確定這是否是一個好主意,也不確定哪個圖像類別是最佳選擇。到目前爲止,我沒有多少運氣找到支持我需要的旋轉的類或類組合,並且可以訪問像素數組。

更新:

我開始想,我不是問錯了問題或提出正確的問題知之甚少。如果我明白Cosmin正確使用Matrix類的含義,我不認爲這將適用於我實際嘗試做的事。我會盡力解釋我的問題。

基本上,我有一個二維數組數組,我想旋轉它。我的意思是,我希望元素的值可以根據旋轉旋轉到適當的元素。

例如:

----------- 
| |A|B|C| | 
----------- 
| |A|B|C| | 
----------- 
| |A|B|C| | 
----------- 

不幸的是,我有:

----------- 
|A|A|A|A|A| 
----------- 
|B|B|B|B|B| 
----------- 
|C|C|C|C|C| 
----------- 

如果我是90度逆時針旋轉的中心元件周圍的這陣,我應該像這樣結束了以支持任何旋轉,而不僅僅是90度旋轉,這意味着需要更復雜的旋轉算法,因爲旋轉的元素索引不總是整數並且可能重疊。這似乎是計算機圖形學領域可能解決的一個問題,這導致我以我的方式提出問題。

+0

爲什麼你需要訪問像素陣列? – Justin 2011-03-08 15:20:38

+0

我曾考慮將此列入原始文章,但覺得很可能會導致我的問題出現題外話/誤導性答案。我可能錯了。基本上,我呈現這個數據的多個視圖,其中之一是ASCII視圖。數據本質上是地理數據,我需要以某種方式爲用戶提供視圖,所以我需要旋轉數據,然後才能將其表示爲ASCII圖像。 – foven 2011-03-08 15:51:12

+0

也許指定像素陣列是一個壞主意,因爲如果我可以以任意角度旋轉任何2D陣列,這可能會解決我的問題。看起來這種算法很可能與計算機圖形學有關,這使我以我的方式提出問題。 – foven 2011-03-08 15:52:13

回答