AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Image.Picture als JPEG Speichern????

Ein Thema von SimStar001 · begonnen am 20. Mär 2008 · letzter Beitrag vom 23. Aug 2008
Antwort Antwort
Seite 2 von 4     12 34      
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#11

Re: Image.Picture als JPEG Speichern????

  Alt 20. Mär 2008, 20:47
also jetzt kommt ne fehler meldung, dass net genug Speicher vorhanden ist!



keine ahnung was nu los ist!
Marco Tröger
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: Image.Picture als JPEG Speichern????

  Alt 20. Mär 2008, 20:50
Zeig mal den Code
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#13

Re: Image.Picture als JPEG Speichern????

  Alt 20. Mär 2008, 20:51
Festplattenspeicher oder RAM?
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#14

Re: Image.Picture als JPEG Speichern????

  Alt 20. Mär 2008, 20:52
Fehlermeldung


EOutOfResources Für diesen Befehl ist nicht genug Speicher vorhanden!

hier ist der Code

Delphi-Quellcode:
Bild:=TJPEGImage.Create;
          Try
          Bild.Assign(form16.Rechnung.picture.bitmap);
          Bild.SaveToFile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Test.jpeg');
          finally
          showmessage('fertig');
          end;
Marco Tröger
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: Image.Picture als JPEG Speichern????

  Alt 21. Mär 2008, 06:30
1. Wieviel RAM hast du ?
2. Du hast im finally - Teil Bild.Free vergessen.

Wenn du Resourcen nicht wieder frei gibst können solche Fehler/Warnungen entstehen.

Ich würde es so machen:


Delphi-Quellcode:
procedure ...
var
  JpegBild: TJPEGImage;
begin
  //...

  with Form16.Rechnung.Picture do
  begin
    if Assigned(Bitmap) then
    begin
      JpegBild := TJPEGImage.Create;
      try
        JpegBild.Assign(Bitmap);
        JpegBild.CompressionQuality := 75; // 1 schlechte bis 100 gute JPEG.Qualit.
        JpegBild.Compress;
        JpegBild.SaveToFile(ExtractFilePath(ParamStr(0)) + '\Daten\Rechnungen\Test.jpeg');
      finally
        JpegBild.Free; // <--<<
      end;
      ShowMessage('Fertig.');
    end else
    begin
      ShowMessage('Fehler: Kein Bitmap in Image.');
    end;
  end;

  //...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#16

Re: Image.Picture als JPEG Speichern????

  Alt 21. Mär 2008, 10:36
Ok vielen dank, ich werde das gleich mal ausprobieren!
Marco Tröger
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#17

Re: Image.Picture als JPEG Speichern????

  Alt 22. Mär 2008, 17:40
klappt leider immernoch net!????????????????????????


was nun!?
Marco Tröger
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Image.Picture als JPEG Speichern????

  Alt 22. Mär 2008, 17:46
immernoch der gleiche fehler? zeig mal neuen code :-)
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
SimStar001

Registriert seit: 18. Jan 2008
594 Beiträge
 
#19

Re: Image.Picture als JPEG Speichern????

  Alt 22. Mär 2008, 17:58
ich versteh net warum, wenn ich wie jetzt bei meinem code das bild vorher speichere, dann geht das wunderbar, aber dauert ewig!


hier ist der jetztige code:
Delphi-Quellcode:

// Seite Speichern zum drucken
              Rechnung.Picture.Graphic.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');
              Bild := TJPEGIMAGE.create;
              Bild.Assign(Rechnung.Picture.Bitmap);
              Bild.savetofile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.jpeg');
              bild.Free;
              deletefile(extractfilepath(paramstr(0)) + '\Daten\Rechnungen\Seite' + inttostr(Aktuelle_Seite) + '.bmp');

und ich will genau das speichern der bmp auf festplatte umgehen, nur zeigt er mir wenn ichs wie weiter vorn beschrieben mache immer den fehler mit dem speicher an!
Marco Tröger
  Mit Zitat antworten Zitat
Benutzerbild von dajuhsa
dajuhsa

Registriert seit: 20. Apr 2007
397 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: Image.Picture als JPEG Speichern????

  Alt 22. Mär 2008, 18:09
1.warum speicherst du es erst als bmp und löschst es danach gleich wieder?
2.außerdem solltest du assign und savetofile in einen try-block setzen und das free in einen finally-block, wenn jetzt im try-block etwas schiefgeht, wird der finally-block ausgefürt und das objekt zerstört, damit kein speicherloch entsteht.
3.Außerdem solltest du Compress anwenden, sonst wird der Speicherplatzverbrauch nicht sonderlich reduziert (=> dauert lange).
4.Vielleicht ist ja auch deine Festplatte voll(was von deinem riesigen Bitmap kommen kann ,siehe dazu auch #1), ansonsten kann ich dir leider nicht helfen
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz