Hallo,
ich möchte ein Image bearbeiten. Ich denke, dazu muss ich das Image
in einem ByteArray unterbringen. Mit folgendem Code:
Die Ausgabe des Programmteils ist:
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
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: