Bilder mit nem ObjectStream übertragen

TheJavaKid

Top Contributor
Hmm, also folgendes

Image implementiert ja blöderweise Serializable nicht - macht nix, ich muss sowieso mit BufferedImage arbeiten, weil das Bild zuerst auf eine gewisse Größe zurechtgestutzt werden muss.

Wie übertrage ich das BufferedImage nun über den ObjectInput/OutputStream - das implementiert ja Serializable leider auch nicht - ich hab nach ein bisschen Googlerecherche gelesen, daß man das BufferedImage ja in ein byteArray umwandeln kann, das dann übertragen wird und auf der anderen Seite wieder zu dem BufferedImage zusammengesetzt.

Gibt vllt irgendeine schönere Lösung ? Sollte ich vllt mit dem Input/Output Stream von Socket und ServerSocket nen eigenen Stream für Bilder erzeugen ?

Danke für Tipps wies besser geht

Anm:
Für das Byte Array würde natürlich ein ByteArrayI/OStream verwendet werden..
 
Zuletzt bearbeitet:

TheJavaKid

Top Contributor
Das war jetzt nicht besonders hilfreich ... ImageIO is mir schon klar, ich wollte nur wissen, welche Lösung die eleganteste, performanteste, sicherste, schnellste, einfach die beste für so ein Problem ist.
 

MR_UNIX

Bekanntes Mitglied
Ein Bild besteht aus Bytes! Schlussfolgerung: Sehr guter Ansatz, ein Byte-Array daraus zu machen und es zu übertragen.
Alternativ kannst du auch eine eigene Klasse für Bilder machen, was aber wahrscheinlich nicht der einfachste Weg ist.
 

Marco13

Top Contributor
Meine Kristallkugel sagt mir, dass der Thread http://www.java-forum.org/awt-swing-swt/99632-bildqualitaet-verringern.html interessant sein könnte. Ein Image zu Serializen kann langsam sein, weil die Datenmenge u.U. riesig ist. ImageIO war darum schon nicht verkehrt: Damit kann man das Image als JPG/PNG in den Stream schicken, und auf der anderen Seite wieder auspacken. WAS tatsächlich in welchem Anwendungsfall schneller ist, hängt von verschiedenen Faktoren ab, die aber in dem verlinkten Thread recht ausführlich diskutiert wurden.
 

FArt

Top Contributor
Das war jetzt nicht besonders hilfreich ...
Finde ich nicht.

ImageIO is mir schon klar
War mir nicht klar, denn das hast du vergessen zu erwähnen. Ausserdem hättest du dann gesehen, dass du keinen eigenen Stream erzeugen musst, denn ImageIO arbeitet auch direkt mit Streams.

welche Lösung die eleganteste, performanteste, sicherste, schnellste, einfach die beste für so ein Problem ist.
Nicht erst ein Array erzeugen, sondern gleich in den Stream pipen.
 

Ullenboom

Bekanntes Mitglied
ImageIcon ist zwar Serializable, aber dann wird ein nicht-komprimiertes Bytefeld übertragen. Wenn du also vorher ein JPG hattest, kommt dann durch ImageIcon ein ARGB-Feld raus, und das ist ungleich größer. Also: Geht, aber nicht so tolle.

ImageIO wurde ja schon genannt:

static boolean write(RenderedImage im, String formatName, OutputStream output)

Damit kann du das Bild schreiben, ein eigenes write-/readObject() hilft und fertig ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Bilder übergeben Netzwerkprogrammierung 16
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
B Socket Bilder verschicken via Sockets. Heap-Problem. Netzwerkprogrammierung 2
B SocketChannel ByteBuffer Bilder verschicken Netzwerkprogrammierung 17
M Socket Bilder senden Netzwerkprogrammierung 1
S Bilder durch's Netzwerk usw ... Netzwerkprogrammierung 10
R Webservice und Bilder Netzwerkprogrammierung 29
F Bilder aus Internet downloaden Netzwerkprogrammierung 12
S Socket Bilder übertragen Netzwerkprogrammierung 7
M Socket Bilder über das Netzwerk übertragen Netzwerkprogrammierung 4
G Frage zu Servlets und deren Objekte + Bilder in Servlets anzeigen? Netzwerkprogrammierung 11
Benji0815 Bilder oder PDF downloaden Netzwerkprogrammierung 11
H Bilder mit HttpClient hochladen Netzwerkprogrammierung 3
A html - E-mail - Bilder Netzwerkprogrammierung 4
A [URLConnection] Bilder hochladen - aber anders! Netzwerkprogrammierung 4
Lazybone Bilder über Socket Netzwerkprogrammierung 4
P Bilder: FTP-Upload funktioniert nicht richtig Netzwerkprogrammierung 2
B Nach Verbindung gleich ObjectStream empfangen Netzwerkprogrammierung 1
J ObjectStream Client/Server Netzwerkprogrammierung 7
B Client + Server ObjectStream Netzwerkprogrammierung 11
A Bei FTP Übertragung wird Datei nicht komplett übertragen Netzwerkprogrammierung 2
I Socket ObjectOutputStream-Socket: Objekt wird falsch übertragen Netzwerkprogrammierung 2
D Socket Gute Idee?: File als byte[] per ObjectIOStream übertragen Netzwerkprogrammierung 3
A RMI RMI - Thread Objekte übertragen und auf anderer Machine weiterlaufen lassen Netzwerkprogrammierung 0
T Anwendungseinstellungen ohne Datei übertragen? Netzwerkprogrammierung 8
A Socket Socket-Problem - Object wird nicht übertragen Netzwerkprogrammierung 3
S Socket Schlüssel übertragen Netzwerkprogrammierung 2
X Kleine Datenobjekte übertragen Netzwerkprogrammierung 10
M Map über Webservice übertragen Netzwerkprogrammierung 3
M Java to php setAsciiStream übertragen Netzwerkprogrammierung 7
K Frame übertragen Netzwerkprogrammierung 8
J Nach Dateiversand werden keine Nachrichten mehr übertragen Netzwerkprogrammierung 11
H ArrayList via WebService übertragen Netzwerkprogrammierung 3
C Client zu Client Daten übertragen Netzwerkprogrammierung 13
S ActiveMQ, JMS und Datei übertragen Netzwerkprogrammierung 25
L Socket publicKey mittels DatagramPacket übertragen Netzwerkprogrammierung 8
J Datei übertragen ja String + datei übertragen nein Netzwerkprogrammierung 5
P Socket Datei von Client zum Server übertragen --> Weiterleitung an Clients Netzwerkprogrammierung 16
Q Problem bei Vergleichen von Strings übertragen über eine Socketverbindung Netzwerkprogrammierung 3
L Audiodateien per Socket übertragen? Netzwerkprogrammierung 2
N Per POST -Methode Daten an den Web-Server übertragen. Netzwerkprogrammierung 9
F Stream wird als Char übertragen. Char -> in String umwand Netzwerkprogrammierung 5
W Objekt über Socket übertragen Netzwerkprogrammierung 14
M Daten übers Netz verschlüsselt übertragen? Wie? Netzwerkprogrammierung 18
S über rmi datei übertragen? Netzwerkprogrammierung 2
G.I.Joe Datei per POST übertragen Netzwerkprogrammierung 2
M dateien übertragen, probleme mit versch. Strömen? Netzwerkprogrammierung 4
S zip-files über sockets übertragen Netzwerkprogrammierung 11
T Rechenserver: Double übertragen Netzwerkprogrammierung 2
S Unix Datei vom Server nach Windows übertragen Netzwerkprogrammierung 8
E Dynamisches übertragen von Stubs Netzwerkprogrammierung 2

Ähnliche Java Themen

Neue Themen


Oben