BufferedImage und ByteArray

gbunge

Aktives Mitglied
Hallo,
ich möchte ein Image bearbeiten. Ich denke, dazu muss ich das Image
in einem ByteArray unterbringen. Mit folgendem Code:
Java:
  ByteArrayOutputStream stream = new ByteArrayOutputStream();

  try { ImageIO.write( image, "png", stream); stream.flush(); stream.close();}
  catch( IOException e ) { System.out.println("Fehler:\n Schreiben hat nicht geklappt!");}

  byte[] bt = stream.toByteArray();

  System.out.println( "ImageHoch: " + imgHoch );
  System.out.println( "ImageWeit: " + imgWeit );
  System.out.println( "Bytes: "+bt.length+ " >> "+(imgWeit*imgHoch));

Die Ausgabe des Programmteils ist:
Code:
ImageHoch: 374
ImageWeit: 373
Bytes: 486 >> 139502

Das Problem:
das Image hat eine Größe von 374x373 Pixel,
ein Pixel in einem Image hat drei Farbanteile und den Alphaanteil, also 4 Byte
wenn ich die Pixel in Byte umrechne, also durch 4 teile erhalte ich etwa 34875 Byte,
das ByteArray hat aber nur eine Größe von 486 Byte.

Was ist mein Denkfehler?

Herzlichen Dank für sachdienliche Hinweise!
Gruß GBunge
 
Zuletzt bearbeitet von einem Moderator:

RalleYTN

Bekanntes Mitglied
ich habe das immer so geregelt, dass ich alles in einem String untegebracht habe und diesen dann in ein ByteArray umgewandelt habe.
Im ersten Block die Größe
Code:
374x373
und in allen weiteren die Farbanteile und den Alphawert:
Code:
255;0;0;255
Und dann hatte ich am Ende etwas was so aussah:
Code:
374x373#255;0;0;255#200;100;0;255#........
Das ganze kann man dann im Umkehr verfahren wieder in ein BufferedImage umwandeln in dem man die Größe ermittelt und damit ein neues BufferedImage erzeugt, welches Alphawerte speichern kann. Danach geht man alle Pixel durch und setzt die Farbe mit BufferedImage.setRGB(int x, int y, int rgb).

Kann aber auch sein, dass ich zu umständlich denke.
 
Ä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
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
G BufferedImage benutzen Allgemeine Java-Themen 6
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
A ByteArray über Socket Allgemeine Java-Themen 3
P Auslesen serieller Schnittstelle - umwandeln von byteArray Allgemeine Java-Themen 3
K Sting To ByteArray und zurück Allgemeine Java-Themen 5
J CRC16 aus Bytearray in Java Allgemeine Java-Themen 6
L crc16 Über bytearray Allgemeine Java-Themen 4
B 16Bit Integer aus ByteArray im Little Endian Format Allgemeine Java-Themen 17
T CRC (2Byte lang) Berechnng aus Bytearray Allgemeine Java-Themen 2
J Attribute eines Objekts in ByteArray Allgemeine Java-Themen 3
C ByteArray in File schreiben? Allgemeine Java-Themen 4
E boolean Array in ein byteArray mit derLänge 5 Allgemeine Java-Themen 6
D ByteArray für Image-Icon laden. Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben