四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

php生成縮略圖填充白邊(等比縮略圖方案)

網站上傳圖片后生成縮略圖應該是非常常用的功能了,通常來講為了網站顯示美觀,縮略圖會是同樣尺寸,比如最近筆者做的一個站點,縮略圖規格要求都是160×120。但是如果上傳的圖片比例和縮略圖不一致,直接縮放的話就會導致圖片變形,這樣體驗肯定就不好了。于是筆者想了一個折中的辦法,就是縮小后添加白邊的方法。

源圖,尺寸是600×366:

最終生成的效果圖:

代碼相對比較長些,下面簡單說下思路:

先將源圖按比例生成縮略圖,并且寬不大于160、高不大于120。例如上圖會先生成160×98的縮略圖。
新建一個160×120的白色背景圖片,將上一步生成的縮略圖居中放置到這張圖片上就OK了。
最終代碼如下:

復制代碼 代碼如下:
//源圖的路徑,可以是本地文件,也可以是遠程圖片
$src_path = '1.jpg';
//最終保存圖片的寬
$width = 160;
//最終保存圖片的高
$height = 120;

//源圖對象
$src_image = imagecreatefromstring(file_get_contents($src_path));
$src_width = imagesx($src_image);
$src_height = imagesy($src_image);

//生成等比例的縮略圖
$tmp_image_width = 0;
$tmp_image_height = 0;
if ($src_width / $src_height >= $width / $height) {
    $tmp_image_width = $width;
    $tmp_image_height = round($tmp_image_width * $src_height / $src_width);
} else {
    $tmp_image_height = $height;
    $tmp_image_width = round($tmp_image_height * $src_width / $src_height);
}

$tmpImage = imagecreatetruecolor($tmp_image_width, $tmp_image_height);
imagecopyresampled($tmpImage, $src_image, 0, 0, 0, 0, $tmp_image_width, $tmp_image_height, $src_width, $src_height);

//添加白邊
$final_image = imagecreatetruecolor($width, $height);
$color = imagecolorallocate($final_image, 255, 255, 255);
imagefill($final_image, 0, 0, $color);

$x = round(($width - $tmp_image_width) / 2);
$y = round(($height - $tmp_image_height) / 2);

imagecopy($final_image, $tmpImage, $x, $y, 0, 0, $tmp_image_width, $tmp_image_height);

//輸出圖片
header('Content-Type: image/jpeg');
imagejpeg($final_image);

php技術php生成縮略圖填充白邊(等比縮略圖方案),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 焦波| 风间由美的电影| 小学道德与法治课程标准2023版| 孙苏雅| 女生被艹在线观看| douying| 天天快乐视频免费观看下载| 丹尼尔·吉里斯| 熊出没原始时代之熊心归来| 刘一秒攻心销售| 黄网站在线观看视频| 中央新影中学生频道| 帕罗| 雪豹46集全| 美女写真视频网站| 红色诗配画| 电影同船爱歌| 八哥图库图谜| 菊花开| 音乐会电视剧免费观看完整版| 叶子楣作品| 深夜福利在线| 斧头(俄罗斯电影) 战争片| 澳门风云2演员表| 深夜在线观看视频| 美人天下| 末代皇帝陈道明| 体方法师| 杨子纯| 尚大庆| 大学英语u校园答案| 漫画头像女生可爱| 夜魔3| 被打屁股作文| 无懈可击图片| 张柏芝照片| 张柏芝艳照视频| 任喜宝| 娱乐金鱼眼| 又造句二年级上册| deathnote|