+ -
当前位置:首页 → 问答吧 → 如何等比例生成固定尺寸的缩略图

如何等比例生成固定尺寸的缩略图

时间:2011-09-07

来源:互联网

  1. //缩略图大小
  2.                 $width = ($width > $old_width) ? $old_width : $width;
  3.                 $height = ($height > $old_height) ? $old_height : $height;
  4.                
  5.                 //图片原大小
  6.                 $srcW = $old_width;
  7.                 $srcH = $old_height;
  8.                
  9.                 if ($srcW * $width > $srcH * $height){
  10.                         $height = round($srcH * $width / $srcW);
  11.                 }else{
  12.                         $width = round($srcW * $height / $srcH);
  13.                 }
  14. $new = imagecreatetruecolor($width, $height);
  15. ImageCopyResampled($new, $img, 0, 0, 0, 0, $width, $height, $old_width, $old_height);
复制代码


上面代码中$widht $height是给定的尺寸,$old_widht $old_height是原始图片的尺寸
但生成的图片偶尔会有比给定尺寸的大(如:给定尺寸150X150,但生成的缩略图实际尺寸150X151)


这里应该如做,才能使图片等比例缩放,并且尺寸小于等于给定尺寸!
请指导!!!拜谢!!

作者: yjhappy   发布时间: 2011-09-07

看看这个帖子吧,应该对你有帮助
http://bbs.phpchina.com/viewthre ... 9%E7%95%A5%E5%9B%BE

作者: xxfs91   发布时间: 2011-09-07

这应该算是小学二年级的数学题吧.
最直接的做法就是, 用宽度除以高度, 如果结果大于缩略图的宽高比那就按宽度来进行等比缩小, 否则就按高度来.

作者: sztime   发布时间: 2011-09-07

回复 sztime


    就是按这个算法,但是还是会出现比指定尺寸大的情况

作者: yjhappy   发布时间: 2011-09-07

相关阅读 更多

热门下载

更多