Page 1 of 1

rotate bmp 90- 180 270 grades

Posted: Fri Dec 15, 2006 3:02 am
by Silvio
can I rotate a BMP ?

----------------------------------

Posted: Sun Dec 24, 2006 5:35 pm
by Rossine
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

#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.

Posted: Sat Dec 30, 2006 2:01 am
by RAMESHBABU
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

Posted: Sat Dec 30, 2006 10:38 am
by Rossine
Hi Mr. Hamesh,

Try this link: http://downloads.sourceforge.net/xharbo ... ontrib.zip

Regards,

Rossine.

Posted: Sun Dec 31, 2006 1:27 pm
by RAMESHBABU
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

Posted: Tue Jan 02, 2007 11:01 am
by Rossine
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.

Posted: Wed Jan 03, 2007 2:38 am
by RAMESHBABU
Hello Rossine

Thank you very much.

Regards

- Ramesh Babu P