Page 1 of 1
Como gravar uma imagem usando freeimage.dll
Posted: Sat Nov 11, 2006 6:40 pm
by Rossine
Olá,
É possível, usando FREEIMAGE.DLL capturar a imagem que esta em uma determinada janela (dialog/window) e gravá-la no formato .JPG ?
Obrigado,
Rossine.
Posted: Mon Nov 13, 2006 9:01 am
by Antonio Linares
Rossine,
Please review Class TImage Method SaveImage( cFile, nFormat, nQuality ) source code.
// 0 -> Bmp
// 2 -> Jpg
// 13 -> Png
Posted: Mon Nov 13, 2006 2:00 pm
by Rossine
Olá Antonio, gracias por responder.
O código abaixo não funciona
Code: Select all
#include "FiveWin.ch"
FUNCTION MAIN()
LOCAL oDlg, oImg
DEFINE DIALOG oDlg SIZE 700, 500
@ 2, 1 IMAGE oImg FILE "FIVEWIN.BMP" SIZE 200, 200 ADJUST
@3, 2 say "Texto Teste" color rgb( 255,255,255), rgb(255,0,0)
@ 0, 1 BUTTON "Save" ACTION msgstop( iif( oImg:SaveImage( "TESTE", 2 ), "Image saved", "Image not saved. Why ??" ) )
@ 0, 7 BUTTON "Load" ACTION msgstop( iif( oImg:LoadImage( , "TESTE.JPG" ), oImg:refresh(), "Image not load" ) )
@ 0, 13 BUTTON "Print" ACTION PRINT( oImg )
ACTIVATE DIALOG oDlg CENTERED
RETURN NIL
STATIC FUNCTION PRINT( oImg )
LOCAL oPrn
PRINT oPrn PREVIEW MODAL
PAGE
oPrn:SayImage( 0, 0, oImg, oPrn:nHorzRes(), oPrn:nVertRes() )
ENDPAGE
ENDPRINT
RETURN NIL
Na verdade o que preciso é capturar a imagem de uma dialog/window e salvá-la em disco, ou seja, não só o "FIVEWIN.BMP" transformá-lo em "TESTE.JPG" e sim o <FIVEWIN.BMP + SAY "Texto Teste">
Veja abaixo como preciso que salve o TESTE.JPG:
Como fazer isto funcionar ?
Obrigado,
Rossine.
Posted: Tue Nov 14, 2006 8:23 pm
by Rossine
Olá Pessoal,
Eu realmente estou precisando muito disto. Alguém poderia me ajudar ??
Obrigado,
Rossine.
Posted: Tue Nov 14, 2006 9:20 pm
by Ruben Fernandez
Rossine:
Aqui va un ejemplo, no lo probe, pero se que funciona.
(Usando FreeImade.DLL)
#include "FiveWin.ch"
#xcommand DEFINE IMAGE [<oBmp>] ;
[ <resource: RESOURCE, NAME, RESNAME> <cResName> ] ;
[ <file: FILE, FILENAME, DISK> <cBmpFile> ] ;
[ <of: OF, WINDOW, DIALOG> <oWnd> ] ;
=> ;
<oBmp>:=TImage():Define( <cResName>, <cBmpFile>, <oWnd> )
Procedure Main()
LOCAL oBmp,oDlg
DEFINE DIALOG oDlg FROM 0,0 TO 21,65 TITLE "Test FreeImage"
DEFINE IMAGE oBmp FILE "Test.jpg" OF oDlg
oDlg:bPainted:={|hDC|PalBmpDraw(hDC,0,0,oBmp:hBitmap,,,0)}
ACTIVATE DIALOG oDlg CENTER
MsgInfo( "About to save the image to Test.png ")
oBmp:SaveImage( "Test2.png", 13)
MsgInfo( "Done!" )
RETURN
Saludos
Ruben Fernandez
Posted: Tue Nov 14, 2006 9:50 pm
by Antonio Linares
Rossine,
Code: Select all
...
@ 0, 1 BUTTON "Save" ACTION msgstop( iif( SaveJPG( oImg ), "Image saved", "Image not saved. Why ??" ) )
...
function SaveJPG( oImg )
local hBitmap := oImg:hBitmap
local lResult := .t.
oImg:hBitmap = WndBitmap( oImg:hWnd )
lResult = oImg:SaveImage( "TESTE.JPG", 2 )
DeleteObject( oImg:hBitmap )
oImg:hBitmap = hBitmap
return lResult
Posted: Wed Nov 15, 2006 1:27 pm
by Rossine
Olá Ruben e Antonio, Gracias pelos exemplos
Antonio, a função oWnd:SaveToBmp( ".\test.bmp" ) faz o que eu estou precisando, mas gostaria que fosse ".JPG", e usando oWnd:SaveToBmp( ".\test.bmp" ) não consigo abrir o arquivo "TEST.BMP" dentro do paint de windows. Me retorna a mensagem "Este não é um arquivo bitmap válido ou não há suporte para o formato atualmente" Porque ?
Gracias e saludos,
Rossine.
Posted: Wed Nov 15, 2006 4:34 pm
by Antonio Linares
Rossine,
> não consigo abrir o arquivo "TEST.BMP" dentro do paint de windows.
Has probado a abrirlo con otros programas ó a visualizarlo con XP ?
Posted: Thu Nov 16, 2006 12:21 pm
by Rossine
Olá Antonio,
> Has probado a abrirlo con otros programas...
VB6 e Delphi7, os dois acusaram "Invalid picture"
>... ó a visualizarlo con XP ?
Sim, XP SP1 . Testando tambem com WIN98 + paint ocorre o mesmo erro.
Gracias, saludos,
Rossine.
Posted: Thu Nov 16, 2006 12:28 pm
by Antonio Linares
Rossine,
Este ejemplo funciona correctamente y el bitmap creado se puede abrir con cualquier utilidad:
Code: Select all
#include "FiveWin.ch"
FUNCTION Main()
LOCAL oWnd
DEFINE WINDOW oWnd TITLE "Progress"
ACTIVATE WINDOW oWnd ;
ON CLICK oWnd:SaveToBmp( "test.bmp" )
RETURN NIL
Posted: Fri Nov 17, 2006 10:35 am
by Rossine
Olá Antonio,
Veja se você consegue abrir a imagem que esta anexa neste arquivo.
Já tentei abrí-la no paint / photopaint / office picture paint e não consigo
http://geocities.yahoo.com.br/qiinforma ... 0/TEST.ZIP
Gracias,
Rossine.
Posted: Fri Nov 17, 2006 1:00 pm
by Antonio Linares
Rossine,
Que build de FWH estás usando ?
Posted: Fri Nov 17, 2006 1:10 pm
by Rossine
Antonio, fwh 2.7 fevereiro/2006.
Gracias,
Rossine.
Posted: Fri Nov 17, 2006 5:01 pm
by Antonio Linares
Rossine,
El ejemplo que te he indicado funciona correctamente con FWH 2.8 y el bitmap es un bitmap estandard. No se que puede estar ocurriéndote.