Thema: JPEG Error

Einzelnen Beitrag anzeigen

Benutzerbild von Zodi
Zodi

Registriert seit: 19. Jul 2017
Ort: Berlin
47 Beiträge
 
Delphi XE7 Ultimate
 
#1

JPEG Error

  Alt 8. Okt 2018, 23:18
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;
Pascal
  Mit Zitat antworten Zitat