AGB  ·  Datenschutz  ·  Impressum  







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

Bilder speichern

Ein Thema von masterzibu · begonnen am 24. Sep 2014 · letzter Beitrag vom 23. Okt 2014
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#11

AW: Bilder speichern

  Alt 13. Okt 2014, 14:03
Indem du die Dateinamen einliest, sie in einer Listenkomponente darstellst?
Und beim Wechsel der Selektierung liest du den aktuell gewählten Dateinamen aus der Liste und lädst das Bild in eine Imagekomponente.


PS: Bitmap.SaveToFile(... + 'myfile.jpg'); speichert zwar das Bild in einer Datei, aber auch wenn die Datei *.jpg heißt, ist darin natürlich ein Bitmap (*.bmp), da Bitmap halt ein Bitmap ist und auch nur Bitmaps speichern kann.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (13. Okt 2014 um 14:05 Uhr)
  Mit Zitat antworten Zitat
masterzibu

Registriert seit: 23. Sep 2014
11 Beiträge
 
#12

AW: Bilder speichern

  Alt 13. Okt 2014, 14:13
OK danke,probier das mal.
Habe aber schon ein problem beim Anzeigen eines Bildes.
Speichere das Bild so:

Delphi-Quellcode:
procedure TForm6.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin
 Image1.Bitmap.Assign(Image) ;
 Image1.Bitmap.SaveToFile(TPath.Combine(TPath.GetDocumentsPath, 'myfile.jpg'));
end;
Und so möchte ich es wieder Anzeigen:

Delphi-Quellcode:
procedure TForm11.Button123Click(Sender: TObject);
begin
  Image1.bitmap.LoadFromFile('myfile.jpg');
end;
Da kommt aber auf dem Smartphone die Fehlermeldung: Zugriffsverletzung bei Adresse 788526E8 beim Zugriff auf Adresse 0000000.
Was mach ich falsch?

Geändert von mkinzler (13. Okt 2014 um 14:19 Uhr) Grund: Delphi-Tags eingefügt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Bilder speichern

  Alt 13. Okt 2014, 14:22
Beim Laden sollte man genausowenig relative Pfade verwenden. Bau Dir den absoluten, entsprechend der Speicherroutine zusammen.

Btw. Bitte verwende Delphi-Tags.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#14

AW: Bilder speichern

  Alt 13. Okt 2014, 15:12
Da es wohl überlesen wurde:
Du speicherst Bitmaps, also sollte der Dateiname myfile.bmp heißen.

Zitat:
Was mach ich falsch?
Du hast vergessen zu sagen bei welcher Codezeile, wobei du auch gleich selber mal mit dem debugger schauen kannst, ob vor der Exception (also Halepunkt auf die Zeile, wo es knallt) eine der Variablen NIL ist.
(denn die Fehlermeldung klingt nach einem Zugriff auf einen NIL-Pointer/Objektzeiger)

Insgesamt sehen deine paar gezeigten Codezeilen erstmal nicht direkt falsch aus.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (13. Okt 2014 um 15:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Bilder speichern

  Alt 13. Okt 2014, 18:27
@himitsu

Du weisst, dass es sich um FMX handelt? Da kann TBitmap erheblich mehr.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
662 Beiträge
 
#16

AW: Bilder speichern

  Alt 13. Okt 2014, 18:29
PS: Bitmap.SaveToFile(... + 'myfile.jpg'); speichert zwar das Bild in einer Datei, aber auch wenn die Datei *.jpg heißt, ist darin natürlich ein Bitmap (*.bmp), da Bitmap halt ein Bitmap ist und auch nur Bitmaps speichern kann.
Zumindest Firemonkey/XE5 ist intelligenter als man denkt:

Delphi-Quellcode:
procedure TBitmap.SaveToFile(const AFileName: string; const SaveParams: PBitmapCodecSaveParams = nil);
begin
  TBitmapCodecManager.SaveToFile(AFileName, Self, SaveParams);
end;


class function TBitmapCodecManager.SaveToFile(const AFileName: string; const Bitmap: TBitmap;
  const SaveParams: PBitmapCodecSaveParams = nil): Boolean;
var
  Codec: TCustomBitmapCodec;
  Descriptor: TBitmapCodecClassDescriptor;
begin
  Result := False;
  if Assigned(FBitmapCodecClassDescriptors) then
    for Descriptor in FBitmapCodecClassDescriptors do
      if SameText(ExtractFileExt(AFileName), Descriptor.Extension, loUserLocale) and Descriptor.CanSave then
      begin
        Codec := Descriptor.BitmapCodecClass.Create;
        try
          Result := Codec.SaveToFile(AFileName, Bitmap, SaveParams);
        finally
          Codec.Free;
        end;
      end;
end;
Ich war auch (vor einiger Zeit) erstaunt, dass das so einfach geht.

Gruß,
Olli

Edit: Ich war zu lahm...

Geändert von Olli73 (13. Okt 2014 um 18:32 Uhr) Grund: Edit: Ich war zu lahm...
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Bilder speichern

  Alt 13. Okt 2014, 18:38
@Olli73

Evtl. war ich nur schneller
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#18

AW: Bilder speichern

  Alt 13. Okt 2014, 19:34
@himitsu

Du weisst, dass es sich um FMX handelt? Da kann TBitmap erheblich mehr.
Sicher?
Aber warum heißt es dann TBitmap und nicht TBildirgendwas?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

AW: Bilder speichern

  Alt 13. Okt 2014, 20:36
@himitsu

Du weisst, dass es sich um FMX handelt? Da kann TBitmap erheblich mehr.
Sicher?
Aber warum heißt es dann TBitmap und nicht TBildirgendwas?
Ja, kuckst du Doku Delphi-Referenz durchsuchenFMX.Graphics.TBitmap
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#20

AW: Bilder speichern

  Alt 13. Okt 2014, 20:44
Na toll, in der VCL wird also doch nichts mehr weiterentwickelt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:53 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