AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bild als String übertragen?

Ein Thema von LDericher · begonnen am 12. Dez 2008 · letzter Beitrag vom 13. Dez 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#1

Bild als String übertragen?

  Alt 12. Dez 2008, 11:37
Hallo DP!

Ich stehe vor folgendem Problem:
Ich möchte eine Art Netzwerk-Fernsteuerung programmieren, also möchte Maus/Tastatur und so kontrollieren.
Funktioniert auch so weit. Gesendet wird über eine Ableitung der Klasse - heißt glaube ich TWinSocket.
Nun habe ich vor, mir Screenshots übertragen zu lassen, die ich im Bitmap-Format vorliegen habe. Ggf. kann ich die dann natürlich konvertieren, weiß auch wie.

Also: Ich kann Daten allerdings (bis jetzt?) nur als STRING senden und empfangen. Demnach: Ist es möglich - relativ schnell - ein Bild in einen "normalen" String umzuwandeln und umgekehrt, sodass ich meine Screenshots übertragen bekomme?

Gruß,
Euer LDer.

P.S.: Ich habe in dem Zusammenhang "MIME" gehört... Weiß aber noch nichts genaueres damit anzufangen.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 11:46
Du kannst das Bild, was ja wie du weisst aus Daten, also Bytes besteht in Chars oder besser in Hexadezimalwerte umwandels und somit als ein String übertragen.
ZB. mit Delphi-Referenz durchsuchenIntToHex().

Zitat:
Ist es möglich - relativ schnell - ein Bild in einen "normalen" String umzuwandeln und umgekehrt, sodass ich meine Screenshots übertragen bekomme?
Das kommt nun auf die Bildgrösse und die Rechnergeschw. sowie die Datenübertragungsgeschw. an.
Wenn ein Bild in einen String umgewandelt werden zB. wie oben beschrieben mit IntToHex entseht eine doppelte Datenmenge.

Besser ist es die oder das Bild direkt also ohne umwandlung in einen String zu Übertragen. Auch dies kann bei grossen Bildern eine Weile
Beanspruchen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 12:35
das wandeln kann man sich doch eigentilch sparen und direkt die Binärdatein senden (sind ja letzendlich auch nur chars)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 13:48
Sorry wenn ich so blöd frage, aber wie komme ich an die Binärdaten? Les ich da irgendwie den Speicher mithilfe des Zeigers aus? Oder steh ich grad mal auf'm Sclauch?

Also es ist nicht auf der Festplatte gespeichert, nur im Arbeitsspeicher (als Zeigervariable vom Typ TBitmap)

Der LDer
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 14:13
In einem String stehen die Bytes eben so hintereinander wie in einem Array of Byte, Array of Integer etc. Es ist immer nur eine Frage wie man das was da im Speicher steht interpretiert. Wenn du einen String versendest wird ja auch nur Zeichen1 + zeichen2... versendet.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 14:45
Bitte,

Meine Frage bezog sich auf das Bitmap!
Dass ich einen STRING als array of Char sehen kann, ist mir wohl bekannt
Aber wie lese ich ein BITMAP binär aus?
Und sagt bitte setzt mir nicht solche Gurken vor wie String := String + Chr(Bitmap[Index])...

Der LDer
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 14:55
Nochmal doof gefragt, Bitmap nach String oder andersrum ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von LDericher
LDericher

Registriert seit: 29. Jan 2007
Ort: Erkelenz
224 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 14:59
Erst so rum, dann anders rum.

Also wenn irgendwer ne vernünftige Idee hat, nen Bitmap - als Variable im Speicher - in einen regulären String umzuwandeln(/verschlüsseln/wie auch immer) - dann kann ich diese Methode ja auch "umkrempeln".

Mir geht es wie gesagt darum, einen Screenshot zu machen, den in ein TBitmap zu laden, in einen String umzuwandeln, zu versenden und wieder ein TBitmap draus zu basteln.

Hoffe ich werde jetzt verstanden.

Lg vom LDer.
  Mit Zitat antworten Zitat
Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#9

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 15:03
Zitat:
Aber wie lese ich ein BITMAP binär aus?
Du liest die Bytes hintereiander in einen Buffer? (oder sendest direkt den vorhandenen)
Idealerweise nicht einzeln sondern mit einem Befehl, der dir möglichst den Zugriff auf den Speicherbereich gibt?
Am einfachsten wäre wohl ein SaveToStream, da du sicher auch noch die Formatdaten brauchst (Farbtiefe, etc.) und dann aus dem Stream senden.

[Edit]
Zitat:
in einen regulären String umzuwandeln
Das ist kein Unterschied, das eine sind (bei nicht Unicode) einzelne Bytes, das andere auch.
Beim string-Typ gibt es nur zusätzliche Angaben über Länge und Referenzzählung.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#10

Re: Bild als String übertragen?

  Alt 12. Dez 2008, 15:18
Zitat:
SaveToStream
Verflix, zu lahm.

Ich würde auch einfach die Streamvariante nehmen sie wird ja selbst vom TBitmap unterstützt. ( <Image>.Picture.Bitmap.SaveToStream )
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 11:14 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