Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android, ein Bitmap speichern geht ncht (https://www.delphipraxis.net/182335-android-ein-bitmap-speichern-geht-ncht.html)

Kostas 17. Okt 2014 14:51

Android, ein Bitmap speichern geht ncht
 
Hallo Zusammen,

eine allgemeine Frage, kann es sein dass Android kein bmp kennt?

Ich erstelle zur Laufzeit ein BMP und zeichne in dessen canvas.
Das BMP kann ich zur Anzeige in eine TImangeViewer geben.
Versuche ich nun das BMP zu speichern, bekomme ich eine Fehlermeldung
das Speichern ist fehlgeschlagen. Versuche ich ein TMemo in exakt den gleichen Pfad
zu speichern funktioniert es einwandfrei und auch das lesen.

Delphi-Quellcode:
  //das geht
  aMemoFile := GetHomePath + PathDelim + 'Memo.txt';
  Memo1.Lines.SaveToFile(aMemoFile);

  //das geht nicht
  aImageFile := GetHomePath + PathDelim + 'image.bmp';
  bmp.SaveToFile(aImageFile);


  //auch das geht nicht
  aImageFile := GetHomePath + PathDelim + 'image.bmp';
  ImageViewer1.Bitmap := bmp; //bmp wir angezeigt.
  ImageViewer1.Bitmap.SaveToFile(aImageFile);

Hat jemand eine Idee?

mkinzler 17. Okt 2014 14:53

AW: Android, ein Bitmap speichern geht ncht
 
Welcher Fehler?
Warum Bitmap?

Kostas 17. Okt 2014 15:05

AW: Android, ein Bitmap speichern geht ncht
 
Zitat:

Zitat von mkinzler (Beitrag 1276417)
Welcher Fehler?
Warum Bitmap?

Hallo Markus,

ich bekomme eine Ecxeption EBitmapSavingFailed Speichern des Bitmaps fehlgeschlagen.

Warum ein bmp, nun ich erstelle temporär ein TBitmap und zeichne auf dessen Canvas.
Danach möchte ich das Bitmap als File speichern. Das Bitmap wird danach einer TMSFMXWebGMaps1
Komponente als Marker übergeben. Das Teil kann leider kein Image als Stream empfangen sondern
nur ein File.

mkinzler 17. Okt 2014 15:08

AW: Android, ein Bitmap speichern geht ncht
 
das Windows-Bitmapformat wird von Android nicht unterstützt. Nimm besser PNG

http://developer.android.com/referen...essFormat.html

Kostas 17. Okt 2014 15:18

AW: Android, ein Bitmap speichern geht ncht
 
Zitat:

Zitat von mkinzler (Beitrag 1276425)
das Windows-Bitmapformat wird von Android nicht unterstützt. Nimm besser PNG

http://developer.android.com/referen...essFormat.html

ah, tausend Dank, das erklärt natürlich alles.
Ist dir zufällig bekannt wo die PNG Klasse steckt?

mkinzler 17. Okt 2014 15:19

AW: Android, ein Bitmap speichern geht ncht
 
Kann die FMX-Bitmap-Klasse von sich aus.

Kostas 17. Okt 2014 16:04

AW: Android, ein Bitmap speichern geht ncht
 
Zitat:

Zitat von mkinzler (Beitrag 1276430)
Kann die FMX-Bitmap-Klasse von sich aus.

ich habe jetzt direkt keine Klasse für PNG gefunden. Ober meinst du die Sache mit TBitmapCodecManager?

mkinzler 17. Okt 2014 16:06

AW: Android, ein Bitmap speichern geht ncht
 
Der Codec wird anhand der Endung erkannt.

Sir Rufo 17. Okt 2014 16:08

AW: Android, ein Bitmap speichern geht ncht
 
Du musst einfach nur speichern, anhand der Datei-Erweiterung wird automatisch das passende Format gewählt.

Kostas 18. Okt 2014 10:56

AW: Android, ein Bitmap speichern geht ncht
 
Hallo zusammen,

das Problem vorab, ich finde die Datei nicht.

irgendwie spreche ich nicht Android, ich sollte es mal mit klingonisch vesuchen. :-(

Testhalber habe ich ein TMemo in ein File geschrieben. Ich kann auch das File lesen,
doch finden kann ich es nicht.

Delphi-Quellcode:
  aMemoFile := TPath.GetSharedDocumentsPath + TPath.DirectorySeparatorChar + 'Memo.txt';
  Memo1.Lines.add(aMemoFile);
  Memo1.Lines.SaveToFile(aMemoFile);
Dem Samsung Tab habe ich eine SD-Card verpasst.
Als Speicherort wird ausgegeben:
/storage/emulated/0/Adroid/data/com.embarcadero.PngProblem/files/Memo.txt

Ich suche nun nach Memo.txt über den Datamanager vom Tab auf "SD Card" und finde nichts.
Ebenso wenig über den Windows Dateiexplorer. Kann es sein das die Files hiden sind?
Auch im Gerätespeicher ist nichts zu finden. Die Memo.txt wird jedoch geladen mit Memo1.Lines.LoadFromFile(aMemoFile); Warum kann ich die Datei nicht finden?

Bezüglich bmp als png speichern, sicht es etwas anders aus. Ich bekomme beim speichern keine Fehlermeldung.
Doch die Datei kann geladen werden jedoch kann sie nicht gefunden wird.


Delphi-Quellcode:
   
  aImageFile := TPath.GetSharedDocumentsPath + TPath.DirectorySeparatorChar + 'image.png';
  ImageViewer1.Bitmap := bmp; //Image wird angezeigt.
  bmp.SaveToFile(aImageFile); //keine Fehlermeldung.

  if FileExists(aImageFile)then //Image wird nicht gefunden
  begin
    ImageViewer2.Bitmap.LoadFromFile(aImageFile);
  end;
Hat jemand eine Idee?
Gruß Kostas


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:16 Uhr.
Seite 1 von 2  1 2      

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