rotate bmp 90- 180 270 grades

rotate bmp 90- 180 270 grades

Postby Silvio » Fri Dec 15, 2006 3:02 am

can I rotate a BMP ?

----------------------------------
Best Regards, Saludos

Falconi Silvio
User avatar
Silvio
 
Posts: 3107
Joined: Fri Oct 07, 2005 6:28 pm
Location: Teramo,Italy

Postby Rossine » Sun Dec 24, 2006 5:35 pm

Hello Silvio,

Yes, but in black and white. Already in the format JPEG functions 100%

See the down the example using. BMP:

Image

See the down the example using. JPG

Image

The code:

Code: Select all  Expand view
#include "FreeImage.ch"  && This should be before of "fivewin.ch"
#include "fivewin.ch"
#include "common.ch"

*************
function main
*************

local cFoto := "FIVEWIN.bmp"

testeimagem( cFoto, 0   )
testeimagem( cFoto, 60  )
testeimagem( cFoto, 90  )
testeimagem( cFoto, 180 )
testeimagem( cFoto, 270 )

cFoto := "FIVEWIN.jpg"

testeimagem( cFoto, 0   )
testeimagem( cFoto, 60  )
testeimagem( cFoto, 90  )
testeimagem( cFoto, 180 )
testeimagem( cFoto, 270 )

RETURN NIL

********************
FUNCTION TesteImagem( cFOTO, ngrau )
********************

   LOCAL im, rotated, rotatedEx, cFif, cDef

   fi_Initialise()

   cFif := iif( at( ".BMP", upper(cFoto) ) > 0, FIF_BMP, FIF_JPEG )
   cDef := iif( at( ".BMP", upper(cFoto) ) > 0, BMP_DEFAULT, JPEG_DEFAULT )
   cExt := iif( at( ".BMP", upper(cFoto) ) > 0, ".bmp", ".jpg" )

   im := fi_Load( cFif, cFOTO, cDef )

   msgstop( "Rotate Classic   :" + cvaltochar( rotated := fi_RotateClassic( im, ngrau ) ) + CRLF + ;
            "Save ?           :" + cvaltochar( fi_Save( cFif, rotated, "rotac"+strzero(ngrau,3)+cExt, cDef ) ), "Rotate " + str( ngrau, 3 ) )

   fi_Unload( rotated )

   centerx := fi_GetWidth( im ) / 2
   centery := fi_GetHeight( im ) / 2

   msgstop( "Rotate Ex        : " + cvaltochar( rotatedEx := fi_RotateEx( im, nGrau, 0, 0, centerx, centery, TRUE ) ) + CRLF + ;
            "Save ?           : " + cvaltochar( fi_Save( cFif, rotatedEx, "rotae"+strzero(ngrau,3)+cExt, cDef ) ), "RotateEx " + str( ngrau, 3 ) )
   fi_Unload( rotatedEx )

   fi_unload(im)
   fi_Deinitialise()

RETURN(NIL)


For this function you be necessary use the class freeimage of xharbour.org, located in “\xharbour\contrib\freeimage\.."

Regards,

Rossine.
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby RAMESHBABU » Sat Dec 30, 2006 2:01 am

Hi Mr.Rossine

For this function you be necessary use the class freeimage of xharbour.org, located in “\xharbour\contrib\freeimage\.."


I don't have a copy of this class.

Can you please send this class and its .ch file to my private e-mail: aksharasoft@hotmail.com
Regards,

- Ramesh Babu P
User avatar
RAMESHBABU
 
Posts: 624
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Postby Rossine » Sat Dec 30, 2006 10:38 am

Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby RAMESHBABU » Sun Dec 31, 2006 1:27 pm

Hi Mr.Rossine

I have this zip file already. But I could not trace the .PRG containing the FreeImage Class. Can you please name the .PRG?

Thanks

Ramesh Babu P
User avatar
RAMESHBABU
 
Posts: 624
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Postby Rossine » Tue Jan 02, 2007 11:01 am

Hi Ramesh,

Enclose these springs in his project.

\xharbour\contrib\freeimage\source\fi_wrp.c
\xharbour\contrib\freeimage\source\fi_winfu.c


It is necessary also generate to lib of freeimage.dll, like this:

dll2lib freeimage

... And it include to lib generated in his project also.

Regards,

Rossine.
Rossine
 
Posts: 344
Joined: Tue Oct 11, 2005 11:33 am

Postby RAMESHBABU » Wed Jan 03, 2007 2:38 am

Hello Rossine

Thank you very much.

Regards

- Ramesh Babu P
User avatar
RAMESHBABU
 
Posts: 624
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 96 guests