![]() |
AW: Bilder speichern
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:
Delphi-Quellcode:
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.
Bitmap.SaveToFile(... + 'myfile.jpg');
|
AW: Bilder speichern
OK danke,probier das mal.
Habe aber schon ein problem beim Anzeigen eines Bildes. Speichere das Bild so:
Delphi-Quellcode:
Und so möchte ich es wieder Anzeigen:
procedure TForm6.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin Image1.Bitmap.Assign(Image) ; Image1.Bitmap.SaveToFile(TPath.Combine(TPath.GetDocumentsPath, 'myfile.jpg')); end;
Delphi-Quellcode:
Da kommt aber auf dem Smartphone die Fehlermeldung: Zugriffsverletzung bei Adresse 788526E8 beim Zugriff auf Adresse 0000000.
procedure TForm11.Button123Click(Sender: TObject);
begin Image1.bitmap.LoadFromFile('myfile.jpg'); end; Was mach ich falsch? :oops: |
AW: Bilder speichern
Beim Laden sollte man genausowenig relative Pfade verwenden. Bau Dir den absoluten, entsprechend der Speicherroutine zusammen.
Btw. Bitte verwende Delphi-Tags. |
AW: Bilder speichern
Da es wohl überlesen wurde:
Du speicherst Bitmaps, also sollte der Dateiname myfile.bmp heißen. Zitat:
(denn die Fehlermeldung klingt nach einem Zugriff auf einen NIL-Pointer/Objektzeiger) Insgesamt sehen deine paar gezeigten Codezeilen erstmal nicht direkt falsch aus. |
AW: Bilder speichern
@himitsu
Du weisst, dass es sich um FMX handelt? Da kann
Delphi-Quellcode:
erheblich mehr.
TBitmap
|
AW: Bilder speichern
Zitat:
Delphi-Quellcode:
Ich war auch (vor einiger Zeit) erstaunt, dass das so einfach geht.
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; Gruß, Olli Edit: Ich war zu lahm... |
AW: Bilder speichern
@Olli73
Evtl. war ich nur schneller :mrgreen: |
AW: Bilder speichern
Zitat:
Aber warum heißt es dann TBitmap und nicht TBildirgendwas? :shock: |
AW: Bilder speichern
Zitat:
![]() |
AW: Bilder speichern
Na toll, in der VCL wird also doch nichts mehr weiterentwickelt.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 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