joecool
16-05-2003, 23:50:15
Hola a todos.
En un código que me facilitó delphi.com.ar
--------------------------------------------------------------------------------
var
hBmp : HBITMAP;
Bmp : TBitmap;
begin
...
hBmp := CreateDIBitmap( GetWindowDC(GetDesktopWindow()), ... );
Bmp := TBitmap.Create;
Try
Bmp.Handle := hBmp;
Bmp.SaveToFile( 'c:\...' );
finally
Bmp.Free;
end;
--------------------------------------------------------------------------------
me encontré que en cada iteración del bucle se consumían 4 Kb de memoria.
La primera solución que me vino fué utilizar la función CreateDC:
----------------------------------------------------------------------
var
MiDC : HDC
.......
MiDC:=CreateDC('display',0,0,0)
hBmp := CreateDIBitmap( MiDC, ... );
DeleteDC(MiDC)
-----------------------------------------------------------------------
Espero que si alguien se encuentra con ese problema pueda encontrar la solución aquí.
Un Saludo
En un código que me facilitó delphi.com.ar
--------------------------------------------------------------------------------
var
hBmp : HBITMAP;
Bmp : TBitmap;
begin
...
hBmp := CreateDIBitmap( GetWindowDC(GetDesktopWindow()), ... );
Bmp := TBitmap.Create;
Try
Bmp.Handle := hBmp;
Bmp.SaveToFile( 'c:\...' );
finally
Bmp.Free;
end;
--------------------------------------------------------------------------------
me encontré que en cada iteración del bucle se consumían 4 Kb de memoria.
La primera solución que me vino fué utilizar la función CreateDC:
----------------------------------------------------------------------
var
MiDC : HDC
.......
MiDC:=CreateDC('display',0,0,0)
hBmp := CreateDIBitmap( MiDC, ... );
DeleteDC(MiDC)
-----------------------------------------------------------------------
Espero que si alguien se encuentra con ese problema pueda encontrar la solución aquí.
Un Saludo