Pour convertir un tableau d'octets, à savoir byte[]
dans un Image
, utilisez getImage()
. Probablement le moyen le plus simple de le faire est d'instancier un ImageIcon
en utilisant le constructeur ImageIcon(byte[])
, puis d'appeler le getImage()
. Ceci est illustré dans la méthode ci-dessous, en particulier la dernière ligne:
public Image createImage(){
//ccurve.png
byte[] b = {-119, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82,
0, 0, 0, 15, 0, 0, 0, 15, 8, 6, 0, 0, 0, 59, -42, -107,
74, 0, 0, 0, 64, 73, 68, 65, 84, 120, -38, 99, 96, -64, 14, -2,
99, -63, 68, 1, 100, -59, -1, -79, -120, 17, -44, -8, 31, -121, 28, 81,
26, -1, -29, 113, 13, 78, -51, 100, -125, -1, -108, 24, 64, 86, -24, -30,
11, 101, -6, -37, 76, -106, -97, 25, 104, 17, 96, -76, 77, 97, 20, -89,
109, -110, 114, 21, 0, -82, -127, 56, -56, 56, 76, -17, -42, 0, 0, 0,
0, 73, 69, 78, 68, -82, 66, 96, -126};
return new ImageIcon(b).getImage();
}
Je pense que cela peut-être utilisée pour png
, gif
, bmp
et jpg
images. Le tableau d'octets ne doit pas non plus être codé en dur, comme dans cet exemple.
Si vous voulez un ImageIcon
au lieu d'un Image
, ne pas appeler getImage()
:
public ImageIcon createImageIcon(){
//ccurve.png
byte[] b = {-119, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82,
0, 0, 0, 15, 0, 0, 0, 15, 8, 6, 0, 0, 0, 59, -42, -107,
74, 0, 0, 0, 64, 73, 68, 65, 84, 120, -38, 99, 96, -64, 14, -2,
99, -63, 68, 1, 100, -59, -1, -79, -120, 17, -44, -8, 31, -121, 28, 81,
26, -1, -29, 113, 13, 78, -51, 100, -125, -1, -108, 24, 64, 86, -24, -30,
11, 101, -6, -37, 76, -106, -97, 25, 104, 17, 96, -76, 77, 97, 20, -89,
109, -110, 114, 21, 0, -82, -127, 56, -56, 56, 76, -17, -42, 0, 0, 0,
0, 73, 69, 78, 68, -82, 66, 96, -126};
return new ImageIcon(b);
}
Ensuite, vous pouvez appeler jlabel.setIcon(createIconImage());
.
Copie possible de http://stackoverflow.com/questions/2662916/read-jpeg2000-files-in-java –
Je suppose que vos données d'entrée sont incorrectes. S'il vous plaît montrer comment vous avez obtenu les données. –
Jetez un oeil ici: http://stackoverflow.com/questions/1212882/convert-byte-array-to-image-in-java-without-know-the-type – Kris