473,946 Members | 15,282 Online

# rotate bmp (Xlib)

I must rotate bmp using Xlib without change bmp's memory. If someone
dariusz
sorry about my english, I'm still learning
Jan 17 '08 #1
2 3396
Da************* ***@gmail.com writes:
I must rotate bmp using Xlib without change bmp's memory. If someone
You are more likely to get correct responses if you ask there.
--
char a[]="\n .CJacehknorstu" ;int putchar(int);in t main(void){unsi gned long b[]
={0x67dffdff,0x 9aa9aa6a,0xa77f fda9,0x7da6aa6a ,0xa67f6aaa,0xa a9aa9f6,0x11f6} ,*p
=b,i=24;for(;p+ =!*p;*p/=4)switch(0[p]&3)case 0:{return 0;for(p--;i--;i--)case+
2:{i++;if(i)bre ak;else default:continu e;if(0)case 1:putchar(a[i&15]);break;}}}
Jan 17 '08 #2
<Da************ ****@gmail.comw rote in
>
I must rotate bmp using Xlib without change bmp's memory. If someone
Load the bmp into memory.
I recently posted functions to do this.

Then apply the formula

ax = x - centralx;
ay = y - centraly;

(assuming you wnat to rotate about the centre)

theta is the angle to rotate by

bx = ax * cos(theta) - ay * sin(theta);
by = ax * sin(theta) + ay * cos(theta);

x = bx + centralx;
y = by + centraly;

Work from destination to source, or you will get missing pixel in the
destination image.
(For a very high quality rotate you need to do anti-alising as well).

Then you simply use Xlib to display the new image you have constructed. I'm
pretty sure it has no built-in rotate functions itself.

--
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm
Jan 17 '08 #3

This thread has been closed and replies have been disabled. Please start a new discussion.