Estoy intentando trabajar con un formato multipagina de freeimage. He cogido de las contribuciones de harbour el ejemplo de hbfimage y he generado las librerias que integro en el programa sin problema. Como en el tema de las imágenes soy un poco novato a ver si alguien se le ocurre como hacerlo. Con el siguiente código añado, borro y cuento las imgenes (ver marcadores /*--*/) y todo me lo hace a la perfección. Cuando borro me quita una imagen y cuando añado me la suma y el resultado siempre es correcto:
Pero no se lo que hay que hacer para mostrarlas en la ventana. Supongo que no hay ningún procedimiento de mostrar pero entinedo que se puede mostrar una a una . Alguien sabe como hacerlo. Con la clase tImage se que se muestra una foto:
Pero este no es el caso puesto que el fichero tiene muchas includidas en el mismo fichero y solo tengo el fichero manejador (hImg), supongo que tendré que extraerlas una a una pero no se me ocurre cómo. No controlo el tema de los manejadores (hImg), ya que no son objetos, hay funciones directas en freeimage que trabajan con ellos pero de momento no se me ocurre como extraer una foto en concreto. Alguna sugerencia?
PD: Si alguien tiene alguna duda que busque Editor tiff en google.
function Main( )
Local oIcon, oBar, oPopup, oImg, oInspec, oImg2
SET _3DLOOK ON
DEFINE ICON oIcon FILE "Tif.ico"
DEFINE WINDOW oWnd FROM 1, 1 TO 22, 75 ;
TITLE "Editor TIFF V 1.0" MENU BuildMenu() ;
ICON oIcon ;
MDI
fi_Initialise()
hImg := FI_OPENMULTIBITMAP( FIF_TIFF, IMAGES_IN + "sample1.tif",.f.,.f.,.t., TIFF_DEFAULT ) //Read only and keep cache in memory
/*
? "Page count :" + str(fi_GetPageCount( hImg ))
? "Delete page 1 "
fi_DeletePage( hImg, 1 )
? "Page count :" + str(fi_GetPageCount( hImg ))
hImg2 := fi_Load( FIF_JPEG, "sample1.jpg", JPEG_DEFAULT )
? "Añado una pagina más"
fi_appendpage(hImg, hImg2)
? "Page count :" + str(fi_GetPageCount( hImg ))
*/
FOR nPage := 1 TO fi_GetPageCount( hImg )
//Aqui debo mostrar todas las imagenes del fichero
@ nPage , 1 IMAGE hImg SIZE 200, 200 of oWnd ADJUST //Esto no funciona
NEXT
SET MESSAGE OF oWnd TO FWVERSION CLOCK DATE KEYBOARD NOINSET 2007
ACTIVATE WINDOW ownd MAXIMIZED
RETURN NILPero no se lo que hay que hacer para mostrarlas en la ventana. Supongo que no hay ningún procedimiento de mostrar pero entinedo que se puede mostrar una a una . Alguien sabe como hacerlo. Con la clase tImage se que se muestra una foto:
@ 1, 1 IMAGE oImg FILE "S204.TIF" SIZE 200, 200 ADJUSTPero este no es el caso puesto que el fichero tiene muchas includidas en el mismo fichero y solo tengo el fichero manejador (hImg), supongo que tendré que extraerlas una a una pero no se me ocurre cómo. No controlo el tema de los manejadores (hImg), ya que no son objetos, hay funciones directas en freeimage que trabajan con ellos pero de momento no se me ocurre como extraer una foto en concreto. Alguna sugerencia?
PD: Si alguien tiene alguna duda que busque Editor tiff en google.
Saludos
Andrés González desde Mallorca
Andrés González desde Mallorca