旋转像素阵列的好方法是什么?

时间:2011-03-08 15:16:30

标签: c# .net

.NET框架是否提供了旋转像素阵列的好方法?更清楚的是,我不仅仅是在寻找旋转图像的方法。相反,我想旋转图像将/将基于的基础像素阵列,以便我可以访问修改后的数组。如果.NET框架已经提供了一个很好的方法,我宁愿不实现旋转算法或包装另一个库。我需要能够支持任何旋转,而不仅仅是90/180/270 /等。旋转,这很容易实现。

我考虑过使用其中一个支持这种旋转的图像类,然后从中访问修改过的数组。我不确定这首先是不是一个好主意,也不确定哪个图像类是最好的选择。到目前为止,我没有太多运气找到支持我需要的旋转的类或类组合,并且能够访问像素阵列。

更新

我开始认为我要么提出错误的问题,要么提出正确的问题。如果我理解Cosmin对正确使用Matrix类的意义,我认为这不会对我实际尝试的内容起作用。我会尽力更好地解释我的问题。

基本上,我有一个2D数组数据,我想旋转它。我的意思是我希望根据旋转将元素的值旋转到适当的元素。

例如:

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

如果我要将这个数组绕中心元素逆时针旋转90度,我最终会得到这样的结果:

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

不幸的是,我必须支持任何旋转,而不仅仅是90度旋转,这意味着需要更复杂的旋转算法,因为旋转的元素索引不总是整数并且也可能重叠。这似乎是一个可能在计算机图形领域得到解决的问题,这导致我以我的方式提出问题。

1 个答案:

答案 0 :(得分:3)