Hi,

Rotating creates a new surface, with the original surface drawn at an angle
inside it.  This means that the original surface is bigger, shifting the
middle away.

Compensating runs something as follows:

xdel = int(round( orig_surf_width * sin(radians(rotation_amount)) ))
ydel = int(round( orig_surf_height * cos(radians(rotation_amount)) ))

And then drawing the new surface at (xcoord-xdel,ycoord-ydel).

Ian

Reply via email to