BufferedImage benutzen

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

habe ein Problem und zwar:

Benutze zur Zeit so etwas wie unten:

Code:
                           -
                           -
                           -
         File fileRead = new File("Bild.png");

         FileInputStream input = new FileInputStream(fileRead); 
    
         DataOutputStream output = new DataOutputStream(server.getOutputStream());

         int availableBytes = input.available()
         
         while (availableBytes > 0){


                byteStream = input.read();
                output.write(byteStream);
                availableBytes--;
            }

;

Möchte jetzt aber anstatt einem File, eine Bild aus nem BufferedImage übergeben, wie Wandel ich das denn um bzw. kann es benutzen ? :###
 

byte

Top Contributor
Verstehe jetzt nicht ganz genau, was Du machen willst, aber:

File -> BufferedImage: ImageIO.read();
BufferedImage -> File: ImageIO.write();
 
G

Gast

Gast
Naja, er soll es aber nicht auf die Platte Schreiben, will es ja erst übertragen

und dann dort wegschreiben...
 
G

Gast

Gast
Also es geht mir darum das Bild per Socketverbindung auf einen Server zu übertragen.

In meiner Bsp Codierung oben funktioniert es einwandfrei, jedoch arbeite ich da ja mit einem File Objekt. das von der lokalen Platte ausgelesen wird und als stream übertragen wird.

Will das nun so ändern das nicht mehr ein FileObjekt ausgelsen und übetragen wird, sondern das BufferedImage Objekt, und das natürlich ohne es vorher auf der lokalen Platte zu schreiben.
 
G

Gast

Gast
Hmm, keine Kommentare, oder habe ich es unverständlich beschrieben??

:roll:


Anders gefragt: Kann mir jemand sagen wie ich ein Image am besten in einen Stream schreibe, und in welchen ?? Also welchen Input und Outputstrem ich dafür am besten verwende?

Oben benutze ich ja ganz einfach ein FileInputStream da ich ja aus einem File lese und ein DataOutputStream, auf der anderen Seite nehme ich es dann per DataInputStream entgegen.

Kriege ich jetzt Kommentare :)
 
B

Beni

Gast
Ich möchte mal anmerken, dass "available" so wie es hier verwendet wird, eine ganz schlechte Idee ist!

Denn die API meint:
Returns the number of bytes that can be read (or skipped over) from this input stream without blocking by the next caller of a method for this input stream. The next caller might be the same thread or another thread.
... das hat also überhaupt garnichts mit der Anzahl bytes zu tun, die insgesammt gelesen werden können! Ein InputStream liefert -1 wenn nichts mehr gelesen werden kann, nur darauf sollte man achten.

Dein Code (wie im Chat beschrieben) könnte etwa so aussehen:
Code:
ByteArrayOutputStream bout = new ByteArrayOutputStream();
ImageIO.write( einBild, "png", bout );

byte[] data = bout.toByteArray();

DataOutputStream dout = new DataOutputStream( server.getOutputStream() );
dout.writeInt( data.length );
dout.write( data );

Code:
DataInputStream din = new DataInputStream( client.getInputStream() );

int length = din.readInt();
byte[] data = new byte[ length ];
int count = 0;
while( count < length ){
  count += din.read( data, count, length - count );
}

ByteArrayInputStream bin = new ByteArrayInputStream( data );
BufferedImage image = ImageIO.read( bin );
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D BufferedImage resize Allgemeine Java-Themen 16
RalleYTN JOGL Texture in BufferedImage konvertieren Allgemeine Java-Themen 1
M Input/Output BufferedImage vertauscht width und height Allgemeine Java-Themen 6
G BufferedImage und ByteArray Allgemeine Java-Themen 2
P Threads BufferedImage, Thread Concurrency Allgemeine Java-Themen 1
M Problem mit BufferedImage und PrinterJob im Querformat Allgemeine Java-Themen 1
T BufferedImage verändert sich beim Einlsesen Allgemeine Java-Themen 1
M BufferedImage toString() überschreiben Allgemeine Java-Themen 5
Thallius PDF von einem BufferedImage erstellen Allgemeine Java-Themen 1
S BufferedImage vergleich mit Subimage Allgemeine Java-Themen 1
reibi OutOfMemoryError bei Behandlung von BufferedImage's Allgemeine Java-Themen 6
TheSorm BufferedImage spiegeln Allgemeine Java-Themen 3
A BufferedImage einzelne Pixel transparent machen V2.0 Allgemeine Java-Themen 2
S Undoable BufferedImage? Allgemeine Java-Themen 2
lumo 2D-Grafik BufferedImage und operationen darauf Allgemeine Java-Themen 2
K Image zu BufferedImage konvertieren Allgemeine Java-Themen 9
H BufferedImage Invertieren Allgemeine Java-Themen 13
D md5 berechnen für BufferedImage Allgemeine Java-Themen 5
D BufferedImage rotieren Allgemeine Java-Themen 8
TiME-SPLiNTER Binary BufferedImage automatisch croppen Allgemeine Java-Themen 4
F byte[] aus einem BufferedImage Allgemeine Java-Themen 3
0 BufferedImage - Farbton verändern Allgemeine Java-Themen 5
J BufferedImage aus PNG Files haben keinen Type Allgemeine Java-Themen 4
T umwandeln BufferedImage to File Allgemeine Java-Themen 7
reibi BufferedImage nach InputStream Allgemeine Java-Themen 10
Q BufferedImage enzelne Pixel tranzparent machen Allgemeine Java-Themen 2
S BufferedImage mit Transparenten Hintergrund Allgemeine Java-Themen 4
Z Farbe des Pixels rechts unten in einem BufferedImage? Allgemeine Java-Themen 4
R problem! bufferedimage speichern. Allgemeine Java-Themen 7
S BufferedImage als *.tga speichern Allgemeine Java-Themen 3
H Pixel im BufferedImage Manipulieren ? Allgemeine Java-Themen 17
Steev BufferedImage und setRGB() Allgemeine Java-Themen 10
P miese performance bei nem BufferedImage + repaint :( Allgemeine Java-Themen 6
M Drucken mit BufferedImage Allgemeine Java-Themen 9
M Problem mit Durchsuchen von BufferedImage Allgemeine Java-Themen 10
I BufferedImage etc Allgemeine Java-Themen 6
F BufferedImage -> Image Allgemeine Java-Themen 4
U BufferedImage.getSubimage ? paintComponent ? Allgemeine Java-Themen 4
T Bilder schnell in BufferedImage laden Allgemeine Java-Themen 4
G BufferedImage zeichnen Allgemeine Java-Themen 4
T BufferedImage aus einem byte-Array? Allgemeine Java-Themen 2
T BufferedImage problem Allgemeine Java-Themen 6
K 32-Bit grayscale BufferedImage Allgemeine Java-Themen 2
T Geschwindigkeit bei Polygonen und BufferedImage Allgemeine Java-Themen 9
P Wieso benutzen PriorityQueues Heaps? Allgemeine Java-Themen 2
B Java mit command line und jars benutzen? Allgemeine Java-Themen 18
X Wie kann ich meine Stdlib in Intelliji benutzen? Allgemeine Java-Themen 3
M Wie kann ich ein int[] Array in einer Methode benutzen? Allgemeine Java-Themen 6
D Warum kann ich eine (deflaut) Klasse aus einer Libary in einem anderen Projekt benutzen? Allgemeine Java-Themen 3
dereki2000 Eigenen Zeichensatz benutzen Allgemeine Java-Themen 7
N Jsoup, Links weiter benutzen Allgemeine Java-Themen 5
I Java google Sandbox benutzen Allgemeine Java-Themen 1
Thallius PDF oder Word als Template benutzen Allgemeine Java-Themen 1
K CET-Zeit benutzen Allgemeine Java-Themen 6
B Klassen Eigene Klasse als Array benutzen Allgemeine Java-Themen 3
T .dll in java benutzen aber wie? Allgemeine Java-Themen 4
K Thread richtig benutzen Allgemeine Java-Themen 3
K Event benutzen Allgemeine Java-Themen 4
D Wann sollte ich statische Methoden und Variablen benutzen? Allgemeine Java-Themen 44
B Commandline jar mit Java benutzen Allgemeine Java-Themen 11
E Wie mit JNA C++ dll benutzen? Allgemeine Java-Themen 3
Q Variable aus Schleife/Switch benutzen Allgemeine Java-Themen 7
B MCSCM.dll mit Java benutzen Allgemeine Java-Themen 3
E Wie Constructor mit Parametern benutzen (getConstructor) Allgemeine Java-Themen 2
F Bash Pipe benutzen Allgemeine Java-Themen 4
J Tokenizer benutzen? Allgemeine Java-Themen 2
V Public SVN benutzen? Allgemeine Java-Themen 11
E welche standalone Version von Tomcat benutzen? Allgemeine Java-Themen 6
Y Wann folgende Technologien benutzen Allgemeine Java-Themen 5
Y Reflection - wie kann ich eine Methode benutzen Allgemeine Java-Themen 4
Y Reflection - wie anwenden/benutzen bei folgendem Problem Allgemeine Java-Themen 3
E Mikrophon benutzen? Allgemeine Java-Themen 4
J MOtherboard Speaker benutzen? Allgemeine Java-Themen 19
G eclipse mit jdk 1.4 und 5 benutzen Allgemeine Java-Themen 10
P DLL Funktion benutzen Allgemeine Java-Themen 3
L Java ohne Installation benutzen? Allgemeine Java-Themen 2
G Jar File soll anderes benutzen Allgemeine Java-Themen 3
S Array wie benutzen? Allgemeine Java-Themen 3
N XInput API (DLL für XBox 360 Controller) mit Java benutzen? Allgemeine Java-Themen 3
B Was sollte ich benutzen Vektor oder ArrayList? Allgemeine Java-Themen 5
L Eclipse VM/JRE für Ant Build benutzen Allgemeine Java-Themen 1
B Fremde Packages benutzen? Allgemeine Java-Themen 11
U Komponente aus grösserem Projet benutzen Allgemeine Java-Themen 4
P Java Subprozess, StdIn und StdOut benutzen Allgemeine Java-Themen 10
F JProgressBar benutzen Allgemeine Java-Themen 5
H Zustandsvariable als int global benutzen? Allgemeine Java-Themen 5
G mehrere JPanels als Fenster benutzen Allgemeine Java-Themen 3
F Aus Java heraus WinAPI Funktionen benutzen Allgemeine Java-Themen 7
L java.text.NumberFormat und java.text.DecimalFormat benutzen Allgemeine Java-Themen 2
S private Methoden benutzen Allgemeine Java-Themen 11
A Packet in einem Java-Programm benutzen Allgemeine Java-Themen 4
S Welchen Editor soll man für Graphische lösungen benutzen Allgemeine Java-Themen 2
M Was soll ich benutzen? Java2D, Java3D, Swing, AWT?? Allgemeine Java-Themen 21

Ähnliche Java Themen

Neue Themen


Oben