今天在使用THINKPHP項目的時候,需要按自定義圖片尺寸做圖片截切,下面就把這個方法分享以做記錄
//縮略圖剪切
//$img 圖片地址
//$url 保存路徑
//$name圖片保存名
function thum_images($img,$width,$height,$url,$name){
//判斷縮略圖是否存在
$goods_thumb_name ="img_thumb_{$width}_{$height}_{$name}";
// 這個商品 已經生成過這個比例的圖片就直接返回了
if(file_exists($url.$goods_thumb_name.'.jpg')) return './'.$url.$goods_thumb_name.'.jpg';
if(file_exists($url.$goods_thumb_name.'.jpeg')) return './'.$url.$goods_thumb_name.'.jpeg';
if(file_exists($url.$goods_thumb_name.'.gif')) return './'.$url.$goods_thumb_name.'.gif';
if(file_exists($url.$goods_thumb_name.'.png')) return './'.$url.$goods_thumb_name.'.png';
$image = new \Think\Image();
$image->open($img);
$goods_thumb_name = $goods_thumb_name. '.'.$image->type(); //$image->type()圖片類型
// 按照原圖的比例生成一個最大為150*150的縮略圖並保存為thumb.jpg
$image->thumb($width, $height)->save($url.$goods_thumb_name,NULL,100);
return "./".$url.$goods_thumb_name;
}
例:PHP中直接執行 thum_images($img,150,150,"Uploads/list_img/",$img_id);
