zoukankan      html  css  js  c++  java
  • 通过url获取图片尺寸的几种方法:JS和php

    首先是js的方法,通过new一个Image对象,设置src属性,并监听complete和onload事件,图片加载完成后输出图片的宽度和高度

    function checkPicurl(url){

    var img = new Image();
    img.src = url;
    img.onerror = function(){
    alert(name+" 图片加载失败,请检查url是否正确");
    return false;
    };

    if(img.complete){
    console.log(img.width+" "+img.height);
    }else{
    img.onload = function(){
    console.log(img.width+" "+img.height);
    img.onload=null;//避免重复加载
    }
    }

    }

    php方法:

    使用php是因为出现了这样的需求:已经入库一批数据,这些数据的url字段值没有拼接图片宽和高的信息,而需求是希望记录,这样就要从表中识别出没有拼图片宽高的数据,并分别获取每个图片url的尺寸信息,在更新到表中。通过java实现相对繁琐,而php中提供了GetImageSize函数,可以获取本地和网络图片的尺寸信息,函数说明如下:

    GetImageSize:取得图片的长宽。
    语法: array getimagesize(string filename, array [imageinfo]);
    返回值: 数组
    函数种类: 图形处理
    内容说明
    本函数可用来取得 GIF、JPEG 及 PNG 三种 WWW 上图片的高与宽,不需要安装 GD library 就可以使用本函数。返回的数组有四个元素。返回数组的第一个元素 (索引值 0) 是图片的高度,单位是像素 (pixel)。第二个元素 (索引值 1) 是图片的宽度。第三个元素 (索引值 2) 是图片的文件格式,其值 1 为 GIF 格式、 2 为 JPEG/JPG 格式、3 为 PNG 格式。第四个元素 (索引值 3) 为图片的高与宽字符串,height=xxx width=yyy。可省略的参数 imageinfo 用来取得一些图片的相关信息,例如 IPTC (http://www.xe.net/iptc) 的 APP13 标记,就可以加在图片中,可利用 iptcparse() 来解析。


    使用范例
    <?php
    function MyImg($imgfile) {
      $size = GetImageSize($imgfile);
      echo "<img src=/"$imgfile/" $size[3]>";
    }
    MyImg("img/img1.gif");
    MyImg("http://img02.sogoucdn.com/app/a/100520052/5a1f885e25b7af28822b14dc069a5f16");
    ?>

  • 相关阅读:
    第一次作业
    冯娟的第五次作业
    冯娟的第三次作业
    冯娟的第四次作业
    冯娟的第二次作业
    数据压缩第一次作业
    第二次实验
    第三次实验
    第一次实验
    第五次作业
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/5614233.html
Copyright © 2011-2022 走看看