Pergunta

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.

Foi útil?

Solução

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];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top