js和php计算图片自适应宽高算法实现
2013-09-24 14:48
423 查看
js Code:
说明:
设容器宽为W,高为H,则宽高比例为W/H=A;
设被加载图片宽为W',高为H',则被加载图片宽高为W'/H'=A';
设修正后的被加载图片宽为W'',高为H''。
结论:
若被加载图片相对容器更宽,更矮:
即当A' > A时,W'' = W, H'' = W / A';
若被加载图片相对容器更高,更窄:
即当A' < A时,H'' = H, W'' = H * A';
若被加载图片宽高比与容器相当:
即当A' = A时,W'' = W, H'' = H。
php Code:
<script> $width = $(imgobj).width(); //图原始宽 $newheight = $(imgobj).height(); //图原始高 $w = 693; //最小宽度 $h = 840; //最大宽度 //计算图片比例高度 $A=$w / $h; $A1=$width/$newheight; if($A1>$A){ $width=$w; $newheight=$w/$A1; }else if($A1<$A){ $height=$h; $width=$h*$A1; }else if($A1==$A){ $width=$w; $newheight=$h; } $width = parseInt($width);//得到的自适应宽度 $newheight = parseInt($newheight); //得到的自适应高度 </script>
说明:
设容器宽为W,高为H,则宽高比例为W/H=A;
设被加载图片宽为W',高为H',则被加载图片宽高为W'/H'=A';
设修正后的被加载图片宽为W'',高为H''。
结论:
若被加载图片相对容器更宽,更矮:
即当A' > A时,W'' = W, H'' = W / A';
若被加载图片相对容器更高,更窄:
即当A' < A时,H'' = H, W'' = H * A';
若被加载图片宽高比与容器相当:
即当A' = A时,W'' = W, H'' = H。
php Code:
// src:原图地址 // w:需要显示的宽 // h:需要显示的高 public static function imageSize_tag($src,$w,$h){ $src='img.jpg'; $w = 693; $h = 840; $src = $_SERVER['DOCUMENT_ROOT'].$src; $img = getimagesize($src); $width = $img[0]; $height = $img[1]; $A=$w / $h; $A1=$width/$height; if($A1>$A){ $width=$w; $height=$w/$A1; } else if($A1<$A){ $height=$h; $width=$h*$A1; } else if($A1==$A){ $width=$w; $height=$h; } return "<img src='$src' height='$height' width='$width' />"; }
相关文章推荐
- js实现图片文件上传预览 | 黄乔国PHP
- PHP配合JS实现某论坛图片批量下载
- 使用 Node.js 实现图片的动态裁切及算法实例代码详解
- javascript图片相似度算法实现 js实现直方图和向量算法
- js实现相同容器内部不同尺寸图片自适应
- JS获取图片实际宽高及根据图片大小进行自适应
- JS网页图片按比例自适应缩放实现方法
- JS网页图片按比例自适应缩放实现方法
- JS获取图片实际宽高及根据图片大小进行自适应
- CSS 实现的图片宽高自适应固定边框
- js实现div内图片自适应大小 并裁剪
- JS获取图片实际宽高及根据图片大小进行自适应
- js瀑布流,实现图片自适应显示
- PHP+MySQL微信通过jsapi分享到朋友圈等平台,实现设置图片、链接。
- Android 中 WebView 与 js 简单交互实现图文混排效果,解决图片自适应屏幕与查看大图问题
- js中实现图片拖动覆盖面积超过一半相交换的算法实现
- ajax+js+dom+json+php+mysql实现仿百度、google的分页隔行变色效果(加图片)
- 纯js实现div内图片自适应大小----神器版!