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.
Rossine.
Harbour and Harbour++
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.
Rossine,
Please review Class TImage Method SaveImage( cFile, nFormat, nQuality ) source code.
// 0 -> Bmp
// 2 -> Jpg
// 13 -> Png
#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
Olá Pessoal,
Eu realmente estou precisando muito disto. Alguém poderia me ajudar ??
Obrigado,
Rossine.
Rossine:
Aqui va un ejemplo, no lo probe, pero se que funciona.
(Usando FreeImade.DLL)
[ <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
...
@ 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 lResultOlá 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.
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 ?
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.
Rossine,
Que build de FWH estás usando ?
Antonio, fwh 2.7 fevereiro/2006.
Gracias,
Rossine.
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.