![]() |
Re: Image.Picture als JPEG Speichern????
Hast Du denn wenigstens mal einen Breakpoint gesetzt und durchgesteppt, um die betroffene Zeile auszumachen? Dass das am vorherigen Speichern liegen soll, kann ich irgendwie nicht glauben.
[edit] Schlechtschreibung [/edit] |
Re: Image.Picture als JPEG Speichern????
also den code hier habe ich wie gesagt jetzt, da der funktioniert!
ich hatte zuvor auch alles so gemacht wie gesagt aber dann kam halt der fehler. die festplatte ist frei, da habsch genug speicher! das bild speichere ich hier erst, weil ich es dann komischerweise laden und umwandeln kann und dann keine fehlermeldung kommt, gehe ich den direkten weg und mache es so, kommt immer die speichermeldung, was ich net versteh:
Delphi-Quellcode:
Bild := TJPEGIMAGE.create;
Bild.Assign(Rechnung.Picture.Bitmap); bild.CompressionQuality := 75; Bild.compress; Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg'); bild.Free; geht net in meinen kopf rein! |
Re: Image.Picture als JPEG Speichern????
ja habsch, es kommt immer in der ZEILE
Delphi-Quellcode:
oder halt wenn ich dass Compressieren weglasse bei:
Bild.compress;
Delphi-Quellcode:
savetofile(....);
|
Re: Image.Picture als JPEG Speichern????
ist in
Delphi-Quellcode:
denn überhaupt ein bild geladen, also assigned?
rechnung.picture.bitmap
schreib mal vor deinen speichern-aufruf
Delphi-Quellcode:
if not Assigned(rechnung.picture.bitmap) then
begin showmessage('MIEEEP!Bild nicht Assigned!'); exit end; |
Re: Image.Picture als JPEG Speichern????
Hast du es mal testweise mit einem kleineren Bitmap versucht? Vielleicht reicht dein Speicher ja wirklich nicht aus.
|
Re: Image.Picture als JPEG Speichern????
Aber dass mehr Speicher zur Verfügung stehen soll, wenn man die Bitmap vorher auf der HD ablegt, erscheint mir etwas abstrus.
|
Re: Image.Picture als JPEG Speichern????
Naja, wenn er es als Bitmap speichert landet die direkt auf der Platte, während das JPEG erstmal in den Arbeitsspeicher kommt und das Bitmap komprimiert. Ich weiß nicht, wie viel speicher das ganze benötigt, aber mal mindestens das Doppelte denke ich schon, weil die Daten ja zweimal im Speicher stehen müssen. Wenn das Bitmap c.a. 150mb groß ist, wären das 300mb, also schon recht viel für ein einzelnes Programm.
[edit]ich sollte genauer lesen... sry[/edit] |
Re: Image.Picture als JPEG Speichern????
Kann mir bitte auch mal jemand helfen. Ich wollte kein neues Thema aufmachen, weil es hier gut her passt und bestimmt jemand eine Antwort parat hat. Ich habe folgendes geschrieben. In Image1 ist ein Bild drin (sichtbar). Aber meine jpg-Datei ist immer leer (0 Bytes).
Was ist bei mir falsch?
Delphi-Quellcode:
Gruß, Alex
procedure TForm1.Button3Click(Sender: TObject);
Var Jpg :TJPEGImage; begin If Not Assigned(Image1.Picture.Graphic) Then MessageDlg('Kein Bild im Speicher',mtWarning,[mbOK],0) Else Begin SaveDialog1.Execute; If SaveDialog1.FileName='' Then MessageDlg('Keine Datei ausgewählt',mtWarning,[mbOK],0) Else Begin If ExtractFileExt(SaveDialog1.FileName)<>'.jpg' then SaveDialog1.FileName:=SaveDialog1.FileName+'.jpg'; Jpg:=TJPEGImage.Create; Jpg.Assign(Image1.Picture.Graphic); // Bild zuweisen Jpg.CompressionQuality:= 12; // 1 mies, 100 am besten Jpg.ProgressiveEncoding:= true; // Schrittweise Aufbau beim Laden Jpg.PixelFormat:= jf8Bit; // jf24Bit oder jf8Bit Jpg.Compress; // Bild komprimieren Jpg.SaveToFile(SaveDialog1.FileName); // Abspeichern Jpg.Free; End; End; end; |
Re: Image.Picture als JPEG Speichern????
Versuch es mal so (Reihenfolge geändert):
Delphi-Quellcode:
procedure TForm36.Button3Click(Sender: TObject);
Var Jpg :TJPEGImage; begin If (Not Assigned(Image1.Picture.Graphic)) or Image1.Picture.Graphic.Empty Then MessageDlg('Kein Bild im Speicher',mtWarning,[mbOK],0) Else if SaveDialog1.Execute then Begin Jpg:=TJPEGImage.Create; try Jpg.CompressionQuality:= 12; Jpg.ProgressiveEncoding:= true; Jpg.PixelFormat:= jf8Bit; Jpg.Assign(Image1.Picture.Graphic); Jpg.Compress; Jpg.SaveToFile(ChangeFileExt(SaveDialog1.FileName,'.jpg')); finally Jpg.Free; end; End; end; |
Re: Image.Picture als JPEG Speichern????
Hi,
Was ist es denn für ein Bils? Afair klappt TJpegFile.Assign nut, wenn ein TBitmap ge-assigned wird. Erzeuge dir euinn neues Birmap, male dort das Bild drauf (TBitmap.Canvas.Draw) und weise das zu, wenn du kein TBitmap hast. Mfg FAlter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz