zoukankan      html  css  js  c++  java
  • 获取远程图片宽高

    import java.awt.image.BufferedImage;  
    import java.io.BufferedInputStream;  
    import java.io.File;  
    import java.io.FileOutputStream;  
    import java.io.IOException;  
    import java.io.OutputStream;  
    import java.net.URL;  
      
    public class ReturnImgWH {  
        //读取远程url图片,得到宽高  
        public int[] returnImgWH(String imgurl) {  
            boolean b=false;  
            try {  
                //实例化url  
                URL url = new URL(imgurl);  
                //载入图片到输入流  
                java.io.BufferedInputStream bis = new BufferedInputStream(url.openStream());  
                //实例化存储字节数组  
                byte[] bytes = new byte[100];  
                //设置写入路径以及图片名称  
                OutputStream bos = new FileOutputStream(new File("E:\44.gif"));  
                int len;  
                while ((len = bis.read(bytes)) > 0) {  
                    bos.write(bytes, 0, len);  
                }  
                bis.close();  
                bos.flush();  
                bos.close();  
                //关闭输出流  
                b=true;  
            } catch (Exception e) {  
                //如果图片未找到  
                b=false;  
            }  
            int[] a = new int[2];  
            if(b){//图片存在  
                //得到文件  
                java.io.File file = new java.io.File("E:\44.gif");  
                BufferedImage bi = null;  
                boolean imgwrong=false;  
                try {  
                    //读取图片  
                    bi = javax.imageio.ImageIO.read(file);  
                    try{  
                        //判断文件图片是否能正常显示,有些图片编码不正确  
                        int i = bi.getType();  
                        imgwrong=true;  
                    }catch(Exception e){  
                        imgwrong=false;  
                    }  
                } catch (IOException ex) {  
                    ex.printStackTrace();  
                }  
                if(imgwrong){  
                    a[0] = bi.getWidth(); //获得 宽度  
                    a[1] = bi.getHeight(); //获得 高度  
                }else{  
                    a=null;  
                }  
                //删除文件  
                file.delete();  
            }else{//图片不存在  
                a=null;  
            }  
           return a;  
      
        }  
      
        public static void main(String[] args) {  
            ReturnImgWH i = new ReturnImgWH();  
              int[] a=i.returnImgWH("http://www.tupian.com/333.gif");  
              if(a==null){  
                  System.out.println("图片未找到!");  
              }else{  
                  System.out.println("宽为" + a[0]);  
                  System.out.println("高为" + a[1]);  
              }  
        }  
    }  
  • 相关阅读:
    统一身份认证(CAS)客户端测试获取信息代码
    常用的java工具类
    windows 批处理(bat)中执行程序后不等待直接退出(cmd中新进程执行程序)
    持续交付的八条原则,你能做到几条?(转)
    灵动标签调用栏目导航技巧
    .net网络编程(2)网络适配器
    Property Value Inheritance Tip(1)
    排序算法补充
    编码参考(Encoding)
    .net网络编程(3)Socket基础
  • 原文地址:https://www.cnblogs.com/start-fxw/p/7601146.html
Copyright © 2011-2022 走看看