![]() |
Delphi-Version: 5
Image als Base64 codieren. Unterschiede FMX und VCL
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
ich habe folgendes Problem: Ich will via WEB-Service eine Unterschrift versenden. (Beispiel aus dem Video: ![]() Ich vermute hier ein Formatunterschied JPeg, BMP etc. aber wie kann ich bei einem Stream das Format mitgeben? So erstelle ich den Base64 String und sende diesen über den WEB-Service:
Delphi-Quellcode:
...
stream := TMemoryStream.Create(); ImageControl1.Bitmap.SaveToStream(stream); encodeString := EncodeBase64(stream.Memory, stream.Size); unt.UnterschriftB64 := encodeString; WS := TWebServices.Create(); er := WS.AusgabeMitUnterschrift(unt); ... Mit diesem Test lese ich die als Text zwischengespeicherte Datei ein, Anzeige Problemlos:
Delphi-Quellcode:
Diese VCL-Anwendung kann daraus aber kein Bildmachen....
...
b64 := TStringList.Create(); b64.LoadFromFile('Bild_DatenB64.txt'); // Test ob Bild enthalten... OutStr := TBytesStream.Create(DecodeBase64(b64.Text)); //OutStr := TBytesStream.Create(DecodeBase64(unt.UnterschriftB64)); ImageControl2.Bitmap.LoadFromStream(OutStr); ...
Delphi-Quellcode:
Ich habe die Base64.txt mal als Beispiel in der Anlage abgelegt.
...
str := TStringList.Create(); str.loadFromFile('Bild_DatenB64.txt'); OutStr := TBytesStream.Create(DecodeBase64(str.Text)); image1.Picture.Bitmap.LoadFromStream(OutStr); ... Was kann das sein? Gruß Axel |
AW: Image als Base64 codieren. Unterschiede FMX und VCL
In Wahrheit speichet Fmx die Grafik nicht als Bitmap sondern im png-format. Du musst eine eigene Lösung entwickeln, um in den Stream das Bitmap- Format zu speichern. Wie das geht, habe ich schon mal im Zusammenhang mit der Übergabe eines Bitmap-Streams an eine Dll gezeigt, das kannst Du hier nachlesen:
![]() Das Beispiel gilt für XE5 und wohl auch XE6 (evtl. auch schon XE4, weiß es im Moment leider nicht auswendig). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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