AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung FMX Bitmap von Kamera an Webservice senden
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Bitmap von Kamera an Webservice senden

Ein Thema von friedt99 · begonnen am 28. Okt 2021 · letzter Beitrag vom 2. Nov 2021
Antwort Antwort
friedt99

Registriert seit: 17. Mär 2010
46 Beiträge
 
#1

AW: FMX Bitmap von Kamera an Webservice senden

  Alt 29. Okt 2021, 07:16
Hallo Rollo62,

nein, es ging um eine Fehlermeldung bei der Base64 Kodierung
der Bitmap unter FMX.

Hatte wohl die falsche Funktion dafür genommen.

Mit der PNG kann ich leben, da ich auf beiden Seiten
des Webservices die Software stelle.

Auf der "Empfangsseite" (Delphi 7) mache ich aus der PNG
ein JPEG und baue ein PDF außen rum.

Grüße

Thomas
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.175 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX Bitmap von Kamera an Webservice senden

  Alt 29. Okt 2021, 07:54
Auf der "Empfangsseite" (Delphi 7) mache ich aus der PNG
ein JPEG und baue ein PDF außen rum.
Dann konvertiere doch gleich im Phone zu JPG, und spar Dir Arbeit auf der Workstation/Server
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73
Online

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
782 Beiträge
 
#3

AW: FMX Bitmap von Kamera an Webservice senden

  Alt 30. Okt 2021, 12:39
Da ich Binärdaten (Bitmap, png, ...) ungern als String behandele, hätte ich es eher so gemacht:

Delphi-Quellcode:
Var ltDocument:String;
    lcStream:TMemoryStream;
    lcStreamB64:TStringStream;
    lcBitmap:TBitmap;
begin
  lcBitmap:=TBitmap.Create;
  lcStream:=TMemoryStream.Create;
  lcStreamB64:=TStringStream.Create;
  Try
    lcBitmap.Width:=100;
    lcBitmap.Height:=100;
    lcBitmap.Canvas.BeginScene;
    lcBitmap.Canvas.Fill.Color:=TAlphaColors.Red;
    lcBitmap.Canvas.FillRect(Rect(0,0,lcBitmap.Width,lcBitmap.height),0,0,AllCorners,1);
    lcBitmap.Canvas.EndScene;

    lcBitmap.SaveToStream(lcStream);
    TNetEncoding.Base64.Encode(lcStream, lcStreamB64);
    ltDocument:=lcStreamB64.DataString;

    --> ltDocument an Webservice senden

  Finally
    lcStream.Free;
    lcStreamB64.Free;
   End;
end;
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#4

AW: FMX Bitmap von Kamera an Webservice senden

  Alt 31. Okt 2021, 20:38
Hmm..

Ein paar Fragen:
Wie kommst Du darauf, dass ein TBitmap ein PNG sei?
Ohne z.B. Konvertierung per TPNGImage wird auch beim Speichen kein PNG daraus...

Wieso wird der Stream nach Bitmap.SaveToStream nicht direkt als Binär-Stream an den Webservice geschickt und stattdessen als aufgeblähter Base64 String?

Wie sendest Du denn die Daten an den WebService?
(Ja ich Verwende Delphi 6 Pro und will NICHT wechseln!)
  Mit Zitat antworten Zitat
friedt99

Registriert seit: 17. Mär 2010
46 Beiträge
 
#5

AW: FMX Bitmap von Kamera an Webservice senden

  Alt 2. Nov 2021, 10:11
Hallo HolgerX,

Wenn man das Bild der CameraComponent einer TBitmap zuweist und dann
die TBitmap mit SaveToFile speichert, kommt ein PNG raus...

Ich sende das Bild als Base64 weil der Webservice unter nusoap (PHP) entwickelt wurde
und ich da keine Möglichkeit gefunden habe, das anders zu lösen.

Grüße

Thomas
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:50 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