2011-03-08 54 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

回答