search

Home  >  Q&A  >  body text

javascript - PHP或js获取图片的高度

这样的页面

<li><img src="1.jpg" width="192px" height="高度" />
<li><img src="1.jpg" width="192px" height="高度" />
...
<li><img src="1.jpg" width="192px" height="高度" />
<li><img src="1.jpg" width="192px" height="高度" />

每个图片宽度都不一样。有什么方法可以获取到每张图片的高度。并且填到height里面去?
求教!

高洛峰高洛峰2894 days ago806

reply all(3)I'll reply

  • 天蓬老师

    天蓬老师2017-04-10 12:43:34

    PHP的函数getimagesize可以得到图片的宽高等信息

    array getimagesize ( string $filename [, array &$imageinfo ] )

    返回一个具有四个单元的数组。索引 0 包含图像宽度的像素值,索引 1 包含图像高度的像素值。索引 2 是图像类型的标记:1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。

    这是PHP官网的手册:http://php.net/manual/en/function.get...

    补充一个demo:

    $images_array = array("http://static.zend.com/img/logo.gif");
    
    foreach($images_array as $image)
    {
    	list($width, $height, $type, $attr) = getimagesize($image);
    	$new_height = (int)(192 / $width * $height);
    	echo '<li><img src="'.$image.'" width="192px" height="'.$new_height.'" />';
    }

    reply
    0
  • 黄舟

    黄舟2017-04-10 12:43:34

    你是要把图片固定到一个框里面去么。。。

    //图片自适应
    //<img src="xxxxx" onload="javascript:image_fix_to_box(this,192,128);" />
    function image_fix_to_box(obj,width,height){
    	var oWidth = obj.width;
    	var oHeight = obj.height;
    	var r1 = parseFloat(obj.width) / parseFloat(obj.height);
    	var r2 = parseFloat(width) / parseFloat(height);
    	
    	if(Math.abs(r1 - r2) < 0.0001){
    		obj.width = width;
    		obj.height = height;
    	}else if(r1 < r2){
    		obj.height = height;
    		obj.width = parseInt( parseFloat(height) / parseFloat(oHeight)  * oWidth );
    	}else{
    		obj.width = width;
    		obj.height = parseInt( parseFloat(width) / parseFloat(oWidth) * oHeight );
    	}
    }

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 12:43:34

    已经找到了jquery的两种方法:
    1,http://www.cssrain.cn/?p=108
    2,http://www.hake.cc/a/biancheng/web/js...

    reply
    0
  • Cancelreply