MakeThumbNail en FreeImage

MakeThumbNail en FreeImage

Postby carlos vargas » Thu Dec 19, 2013 2:54 am

Podria alguien implementar hacer un thumbnail con freeimage, lo he intentado pero no se como guardar el archivo destinol
static FIBITMAP MakeThumbnail(
FIBITMAP dib,
int max_pixel_size,
bool convert
)

dib
Type: FreeImageAPI.FIBITMAP
Handle to a FreeImage bitmap.
max_pixel_size
Type: System.Int32
Thumbnail square size.
convert
Type: System.Boolean
When true HDR images are transperantly converted to standard images.

Code: Select all  Expand view

DLL32 FUNCTION FMAKETHUMBNAIL( hDib AS LONG, nMaxPixelSize AS INTEGER, lConvert AS BOOL ) AS LONG ;
      PASCAL FROM If( IsExe64(), "FreeImage_MakeThumbnail", "_FreeImage_MakeThumbnail@12" ) LIB hLib
 

Code: Select all  Expand view

function FIMakeThumbNail( cSrcFile, cDstFile, nSize )

   local nSrcFormat, hDib, hDib2, lOk := .f.

   DEFAULT nQuality := 0

   if LoadFreeImage() > 32

      nSrcFormat = FIGETFILETYPE( cSrcFile, 0 )

      hDib = FILOAD( nSrcFormat, cSrcFile, 0 )
      hDib2 = FIMAKETHUMBNAIL( hDib, nSize, FALSE )
     
      //
      //lOk = FISAVE( nDstFormat, hDib2, cDstFile, nQuality )
      //

      FIUNLOAD( hDib )
      FIUNLOAD( hDib2 )

   endif

return lOk
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: MakeThumbNail en FreeImage

Postby Antonio Linares » Thu Dec 19, 2013 11:26 am

Carlos,

Una vez hayas obtenido el hDib del Thumbnail, lo puedes salvar a disco asi:

DibWrite( cNombreFichero, hDib )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: MakeThumbNail en FreeImage

Postby carlos vargas » Thu Dec 19, 2013 2:43 pm

Gracias, Antonio, modifico, pruebo y comento.
salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: MakeThumbNail en FreeImage

Postby carlos vargas » Thu Dec 19, 2013 3:49 pm

Bueno, ya ha quedado:
seria interesante como un methodo de la clase timage y tbitmap, asi como que creara el thumbnail de un resource, o que lo creara a memoria.

Antonio, lo podrias agregar de serie a fwh?

como usar
Code: Select all  Expand view

...
   FIMakeThumbNail( ".\resource\bitmaps\bm_menu.bmp", ".\pequeno.bmp", 32 )
   FIMakeThumbNail( ".\resource\bitmaps\pan_setting.png", ".\pan_setting.png", 32 )
...
 


agregar a image.prg
Code: Select all  Expand view


DLL32 FUNCTION FMAKETHUMBNAIL( hDib AS LONG, nPixel AS LONG, lConvert AS BOOL ) AS LONG ;
      PASCAL FROM If( IsExe64(), "FreeImage_MakeThumbnail", "_FreeImage_MakeThumbnail@12" ) LIB hLib

 

Code: Select all  Expand view

function FIMakeThumbNail( cSrcFile, cDstFile, nPixel )
   local nSrcFormat, hDib, hDib2, lOk := .F.

   if LoadFreeImage() > 32

      nSrcFormat := FIGETFILETYPE( cSrcFile, 0 )
      hDib       := FILOAD( nSrcFormat, cSrcFile, 0 )
      hDib2      := FMAKETHUMBNAIL( hDib, nPixel, .T. )

      lOk = FISAVE( nSrcFormat, hDib2, cDstFile, 0 )

      FIUNLOAD( hDib  )
      FIUNLOAD( hDib2 )

   endif

return lOk
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1720
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: MakeThumbNail en FreeImage

Postby Antonio Linares » Thu Dec 19, 2013 7:37 pm

Carlos,

Añadido. muchas gracias :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42099
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: MakeThumbNail en FreeImage

Postby Silvio.Falconi » Tue Feb 25, 2014 7:57 am

can see a simply test sample ?
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7061
Joined: Thu Oct 18, 2012 7:17 pm

Re: MakeThumbNail en FreeImage

Postby J. Ernesto » Sun Mar 02, 2014 9:52 pm

Amigos, a partir de que versión de fivewin se puede implementar las miniaturas con thumbnail.

Gracias
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: MakeThumbNail en FreeImage

Postby cnavarro » Wed Mar 05, 2014 8:24 am

Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6548
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 38 guests