缩略图脚本不创建方形图像

时间:2015-05-03 05:29:20

标签: php image

我正在使用缩略图脚本,该脚本应该为我的gallery目录中的图像创建缩略图。它很棒。但有一个问题。图像是矩形而不是方形。我需要图像出来正方形。我的宽度设置为150,高度设置为150.我不确定我做错了什么。这是我正在使用的预先编写的脚本,可以在http://www.foliopages.com/php-photo-gallery-no-database找到[不是我的网站,这是脚本的来源]

这是缩略图脚​​本的前半部分(这两部分之间还有其他功能):

$thumb_width   = '150';      // width of thumbnails
$thumb_height  = '150';       // height of thumbnails
$extensions    = array(".jpg",".png",".gif",".JPG",".PNG",".GIF"); // allowed extensions in photo gallery


// create thumbnails from images
function make_thumb($folder,$src,$dest,$thumb_width) {

    $source_image = imagecreatefromjpeg($folder.'/'.$src);
    $width = imagesx($source_image);
    $height = imagesy($source_image);

    $thumb_height = floor($height*($thumb_width/$width));

    $virtual_image = imagecreatetruecolor($thumb_width,$thumb_height);

    imagecopyresampled($virtual_image,$source_image,0,0,0,0,$thumb_width,$thumb_height,$width,$height);

    imagejpeg($virtual_image,$dest,100);

}

第二部分:

   $thumb = $src_folder.'/thumbs/'.$file;
           if (!file_exists($thumb)) {
              make_thumb($src_folder,$file,$thumb,$thumb_width); 

           }

1 个答案:

答案 0 :(得分:1)

问题是您在行

中计算$thumb_height的值
$thumb_height = floor($height*($thumb_width/$width));

用这一行替换该行以使拇指方形:

$thumb_height=$thumb_width;