Ver Mensaje Individual
  #3  
Antiguo 22-04-2008
santus santus is offline
Miembro
 
Registrado: ene 2006
Posts: 130
Reputación: 21
santus Va por buen camino
Lo copio de nuevo porque nose que paso:


Código Delphi [-]
uses jpeg;

//procedure Capturar(Filename: string; Panel: TPanel);
funcion Capturar(Filename: string; Panel: TPanel): TStream;
var SrcWindow: THandle;
SrcDC: HDC;
Bitmap: TBitmap;
Jpg: TJPEGImage;
stream : Tstream;
begin
SrcWindow:= Panel.Handle;
if SrcWindow <> 0 then
begin
SrcDC:= GetDC(SrcWindow);
if SrcDC <> 0 then
begin
Bitmap:= TBitmap.Create;
Jpg:= TJPEGImage.Create;
stream := TMemoryStream.Create;
try
Bitmap.Width:= Panel.Width;
Bitmap.Height:= Panel.Height;
BitBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,
Bitmap.Height,SrcDC,0,0,SRCCOPY);
Jpg.CompressionQuality:= 60;
Jpg.Assign(Bitmap);
//Jpg.SaveToFile(Filename); Aqui lo comento y en vez de guardarlo a un archivo lo guardo a un stream.
Jpg.SaveToStream(stream);
finally
Bitmap.Free;
Jpg.Free;
ReleaseDC(SrcWindow,SrcDC);
end;
end;
Result:=stream;
end;

// Ejemplo de como usar la funcion
MiStream:=Capturar('c:\1.jpg',Panel1);
__________________
"El ordenador nació para resolver problemas que antes no existían." Bill Gates.
Responder Con Cita