当前位置: 代码迷 >> Java相关 >> byte[] 到image的转换问题
  详细解决方案

byte[] 到image的转换问题

热度:429   发布时间:2008-07-11 13:24:31.0
byte[] 到image的转换问题
大家好:
    我想的是把一个图片文件转换成 byte 数组后通过 socket 传到 server 端,并在server端显示出来,
通过相应测试,byte数组数据是传到server端了,可在取出数据后并转换成 image并显示时,图片显示为全黑色,
请问这是什么原因?

图片文件转换成byte[]代码如下:

  ImageIcon ima=new ImageIcon("D:\\temp\\Sunset.jpg");
  BufferedImage bu = new BufferedImage(
                     ima.getImage().getWidth(null),ima.getImage().getHeight(null),BufferedImage.TYPE_INT_RGB);
  ByteArrayOutputStream imageStream=new ByteArrayOutputStream();
  boolean resultWrite = ImageIO.write(bu, "jpg", imageStream);
  byte [] tagInfo=imageStream.toByteArray();

在server端把读取出的byte[]转换成image的代码如下:

  Image img=Toolkit.getDefaultToolkit().createImage(buf, 0,buf.length);
  ImageIcon imagico=new ImageIcon(img);
  cjf.jta.insertIcon(imagico);
  其中buf为读取出的byte数组; cjf.jta为一个JTextPane对象

请大家帮忙看看,小弟在此表示感激!
搜索更多相关的解决方案: byte  image  

----------------解决方案--------------------------------------------------------
问题已解决
不好意思啊,天太闷,头脑不消晰了,文件都没放进去怎么能读到呢
修改革开放BufferedImage bu=new..........一句为:
BufferedImage bu = ImageIO.read(new File("D:\\temp\\Sunset.jpg"));
就可以了
----------------解决方案--------------------------------------------------------
  相关解决方案