1
如何将图像旋转90度(右和左)一维数组n元素?C - 使用一个阵列将图像旋转90度(右和左) - 位图
我的阵列是24位位图(N×N个)
例如,我的数组
A[16] = {
1,2,3,4
5,6,7,8
9,10,11,12
13,14,15,16}
旋转到新的数组:
{4,8,12,16
3,7,11,15
2,6,10,14
1,5,9,13}
和:
{13,9,5,1,
14,10,6,2,
15,11,7,3,
16,12,8,4}
你有什么试过?你能弄清楚'A [0] [0]'中的值应该结束吗?如果将该单元格交换为“A [0] [0]”会发生什么?你接下来需要交换什么? – StoryTeller
您需要将源数组的列复制到目标数组的行中,或者将源数组的行复制到目标数组的列中。唯一的问题是你在哪个序列中执行操作。首先编写一个传递源和目标数组的骨架函数,以及它们的大小。然后仔细考虑如何将行复制到列中。 –
你有从2D像素坐标到1D数组索引的映射。把它写成坐标的函数。有了这些,你也应该能够写出一个反函数。您还有两个从2D坐标到旋转的2D坐标的映射 - 也将这些映射写为函数。你想要的变换只是一个(1D - > 2D),(2D旋转),(2D - > 1D)的组合。你已经关闭了所有这些形式的公式,所以你应该能够为整个变换编写一个表达式。 –