rotate bmp (Xlib)

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Dariusz.Donimirski@gmail.com

    rotate bmp (Xlib)

    I must rotate bmp using Xlib without change bmp's memory. If someone
    knows how I can do this, please help me.


    dariusz
    sorry about my english, I'm still learning
  • Ben Pfaff

    #2
    Re: rotate bmp (Xlib)

    Dariusz.Donimir ski@gmail.com writes:
    I must rotate bmp using Xlib without change bmp's memory. If someone
    knows how I can do this, please help me.
    Perhaps you should ask about this in a newsgroup related to Xlib.
    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;}}}

    Comment

    • Malcolm McLean

      #3
      Re: rotate bmp (Xlib)

      <Dariusz.Donimi rski@gmail.comw rote in
      >
      >I must rotate bmp using Xlib without change bmp's memory. If someone
      knows how I can do this, please help me.
      >
      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.



      Comment

      Working...