I need to rotate a bmp given an angle in multiples of 90. Im trying to figure out how to accomplish this. Can somebody guide me in the right direction to approach this problem?

The rotation angles, which are multiples of 90 could be positive as well as negative. It should also accept angle 0

thanks for your time in advance.

有帮助吗?

解决方案

better approach:

struct bitmap
{
  int** array[3]; //RGB
  int N;
  int M;
};

void f(struct bitmap source, struct bitmap dest)
{ for(int i=0;i<source.N;i++)
  {
    for(int j=0;j<source.M;j++)
    {
      dest.array[j][source.N-i-1]=source.array[i][j];
    }
  }
  dest.N=array.M;
  dest.M=array.N;
}

Here's a picture
enter image description here

to rotate anti-clockwise you change only

dest.result[source.M-j-1][i]=source.array[i][j];
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top