Settings Speichern / KameraBild to PNG/JPG
Hallo ich habe zwei Probleme mit der iOS Anwendung.
Das erste mir werden die Einstellungen nicht gespeichert oder geladen Laden im FormCreate
Delphi-Quellcode:
speichern im FormSaveState
procedure TCameraForm.FormCreate(Sender: TObject);
var R : TBinaryReader; begin SaveState.StoragePath := TPath.GetHomePath; fImageFormat := SJPEGImageExtension; if SaveState.Stream.Size > 0 then begin R := TBinaryReader.Create(SaveState.Stream); try fImageFormat := R.ReadString; finally R.Free; end; end; end;
Delphi-Quellcode:
Jedesmal wenn ich die Anwendung rauskicke und neu starte ist der Wert wieder weg.
procedure TCameraForm.FormSaveState(Sender: TObject);
var W : TBinaryWriter; begin SaveState.Stream.Clear; W := TBinaryWriter.Create(SaveState.Stream); try W.Write(fImageFormat); finally W.Free; end; end; Bei Android funktioniert das ohne Probleme. Und das speichern von der CameraComponent in ein PNG oder JPG oder co funktioniert nicht. Das TBitmapCodecManager.SAveToStream gib jedesmal FALSE zurück Unter Android kann ich als ImageFormat ".png" ".jpg" oder ".jpeg" mitgeben und es funktioniert
Delphi-Quellcode:
Hat wer eine Idee warum die zwei Sachen bei mir bei iOS nicht so funktionieren wie ich es mir vorstelle?
procedure TCameraForm.acScanExecute(Sender: TObject);
var x : TBitmap; ms : TMemoryStream; Surf : TBitmapSurface; begin x := TBitmap.Create; CameraComponent.SampleBufferToBitmap(x, TRUE); if fImageFormat = '' then fImageFormat := SJPEGImageExtension; ms := TMemoryStream.Create; Surf := TBitmapSurface.Create; try Surf.Assign(x); if not TBitmapCodecManager.SaveToStream(ms, Surf, fImageFormat) then begin raise EBitmapSavingFailed.Create(SBitmapSavingFailed); end; finally Surf.Free; end; x.Free; ms.Seek(0, soFromBeginning); |
AW: Settings Speichern / KameraBild to PNG/JPG
Ok beim zweiten Problem habe ich zumindest mal rausgefunden das es nicht das konvertieren ist sondern
Delphi-Quellcode:
das SampleBufferToBitmap das ein ungültiges TBitmap erzeugt (Width und Height 0)
//CameraComponent.SampleBufferToBitmap(x, TRUE);
x := imgCameraView.Bitmap; wenn ich das Preview Image nehme dann geht es. Beim FormSaveState, das hätte ich nun auch extra aufgerufen, nachdem ich die Settings ändere (also nicht nur dort wo es vom System aufgerufen werden sollte) Aber beim FormCreate lädt er mir trotzdem keine Einstellungen Und ich aktualisiere die App inzwischen nicht weil ich irgendwo mal gelesen habe das es eventuell dann einen anderen Pfad gibt oder alles ausgeleert wird. |
AW: Settings Speichern / KameraBild to PNG/JPG
Ah und nr 1 auch gelöst
statt
Delphi-Quellcode:
muss man
SaveState.StoragePath := TPath.GetHomePath;
Delphi-Quellcode:
dann passt es zumindest unter iOS
SaveState.StoragePath := TPath.GetLibraryPath;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 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