加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

将图片转换成byte数组以便在网络中传输   java

(2010-06-06 16:33:30)
标签:

杂谈

分类: 技术文档

将图片转成字节流
 public static byte[] image2Bytes(String imagePath) {
  ImageIcon ima = new ImageIcon(imagePath);
  BufferedImage bu = new BufferedImage(ima.getImage().getWidth(null), ima
    .getImage().getHeight(null), BufferedImage.TYPE_INT_RGB);
  ByteArrayOutputStream imageStream = new ByteArrayOutputStream();
  try {
   //把这个jpg图像写到这个流中去,这里可以转变图片的编码格式
   boolean resultWrite = ImageIO.write(bu, "png", imageStream);
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  byte[] tagInfo = imageStream.toByteArray();

  return tagInfo;
 }

 

根据字节流来判断这个图片的编码格式


 public static String checkImageType(byte[] imageBytes) {
  ByteArrayInputStream bais = null;
  MemoryCacheImageInputStream mcis = null;
  try {
   bais = new ByteArrayInputStream(imageBytes);
   mcis = new MemoryCacheImageInputStream(bais);
   Iterator<ImageReader> itr = ImageIO.getImageReaders(mcis);
   while (itr.hasNext()) {
    ImageReader reader = (ImageReader) itr.next();
    String imageName = reader.getClass().getSimpleName();
    if (imageName != null && ("JPEGImageReader".equalsIgnoreCase(imageName))) {
     return "jpeg";
    }else if (imageName != null && ("JPGImageReader".equalsIgnoreCase(imageName))) {
     return "jpg";
    }else if (imageName != null && ("pngImageReader".equalsIgnoreCase(imageName))) {
     return "png";
    }
   }
  } catch (Exception e) {
   // TODO: handle exception
  }
  return null;
 }

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有