rotate bmp 90- 180 270 grades

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

rotate bmp 90- 180 270 grades

Post by Silvio »

can I rotate a BMP ?

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

Falconi Silvio
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post 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.
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Post 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
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post by Rossine »

Hi Mr. Hamesh,

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

Regards,

Rossine.
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Post 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
Rossine
Posts: 343
Joined: Tue Oct 11, 2005 11:33 am

Post 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.
User avatar
RAMESHBABU
Posts: 591
Joined: Fri Oct 21, 2005 5:54 am
Location: Secunderabad (T.S), India

Post by RAMESHBABU »

Hello Rossine

Thank you very much.

Regards

- Ramesh Babu P
Post Reply