Hi Delphianers
Ich erzeuge einen Screenshot als Bitmap diesen Wandle ich in ein JPG um.
Nach ca. 60x Schreenshot erzeugen bekomme ich ne Error meldung "Zur verabeitung dieses Befehls sind nicht genügens Speicherressourcen verfügbar.
Delphi-Quellcode:
function GetScreenShot: TBitmap;
var
Desktop: HDC;
begin
Result := TBitmap.Create;
Desktop := GetDC(0);
try
try
Result.PixelFormat := pf32bit;
Result.Width := Screen.Width;
Result.Height := Screen.Height;
BitBlt(Result.Canvas.Handle, 0, 0, Result.Width, Result.Height, Desktop, 0, 0, SRCCOPY);
Result.Modified := True;
finally
ReleaseDC(0, Desktop);
end;
except
Result.Free;
Result := nil;
end;
end;
Function SaveShotToStream(PIC: TBitmap): AnsiString;
var
myjpg: TJPEGImage;
myImg: TImage;
mm: TMemoryStream;
begin
mm := TMemoryStream.Create;
myImg:= TImage.Create(nil);
myjpg := TJPEGImage.Create;
myjpg.CompressionQuality := 50;
myjpg.Compress;
myimg.Picture.Bitmap := GetScreenShot;
myjpg.Assign(myimg.Picture.Bitmap);
myjpg.SaveToStream(mm);
myImg.Free;
myjpg.Free;
mm.Free;
end;