时间:2021-07-01 10:21:17 帮助过:1人阅读
每个图片宽度都不一样。有什么方法可以获取到每张图片的高度。并且填到height里面去?
求教!
这样的页面
每个图片宽度都不一样。有什么方法可以获取到每张图片的高度。并且填到height里面去?
求教!
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.com/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 '
你是要把图片固定到一个框里面去么。。。
//图片自适应 // 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 ); } }
已经找到了jquery的两种方法:
1,http://www.cssrain.cn/?p=108
2,http://www.hake.cc/a/biancheng/web/js...