日期:2014-05-20  浏览次数:20659 次

[求助]一个把byte[]转成张图片的问题
我想把外部通信得到的一个byte[]转成张图片,但有些问题,部分代码如下:
Java code

Image yourImg   =   Toolkit.getDefaultToolkit().createImage(ri.data);  //ri.data就是个byte数组
 BufferedImage img   =   new   BufferedImage(ri.width,   ri.height,   BufferedImage.TYPE_INT_RGB);  
Boolean flag = img.getGraphics().drawImage(yourImg,   0,   0,ri.width,ri.height, null);  
             
FileOutputStream   fos   =   new   FileOutputStream("test1.jpg");  
ImageIO.write(img, "jpg", fos);
    fos.close();


首先Image yourImg = Toolkit.getDefaultToolkit().createImage(ri.data);这句是过的
但在Boolean flag = img.getGraphics().drawImage(yourImg, 0, 0,ri.width,ri.height, null); 这句之后发现img里面的data都是0,而且返回的一个false,不知道是什么原因?难道还是得到的ri.data数据不正确?
请各位帮帮忙,谢谢先

------解决方案--------------------
MARK
------解决方案--------------------
Java code
byte[] bytes = ri.data;
FileOutputStream   fos   =   new   FileOutputStream("D://test1.jpg");
fos.write(bytes);
fos.close();

------解决方案--------------------
mark
------解决方案--------------------
ImageIcon icon=new ImageIcon(new String(字节数组));