91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php實現生成縮略圖填充白邊的功能

發布時間:2021-09-10 18:07:57 來源:億速云 閱讀:126 作者:chen 欄目:開發技術

這篇文章主要介紹“php實現生成縮略圖填充白邊的功能”,在日常操作中,相信很多人在php實現生成縮略圖填充白邊的功能問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php實現生成縮略圖填充白邊的功能”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

源圖,尺寸是600×366:

php實現生成縮略圖填充白邊的功能

最終生成的效果圖:

php實現生成縮略圖填充白邊的功能

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

先將源圖按比例生成縮略圖,并且寬不大于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實現生成縮略圖填充白邊的功能”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

霍邱县| 扬中市| 昭苏县| 江口县| 玉门市| 定陶县| 中方县| 济阳县| 翁牛特旗| 临江市| 晋中市| 竹北市| 江北区| 嵊泗县| 渭源县| 海安县| 芦山县| 平定县| 威海市| 营山县| 锡林浩特市| 安徽省| 隆昌县| 巴楚县| 囊谦县| 太仓市| 东乌珠穆沁旗| 镇康县| 彩票| 洛川县| 江达县| 曲靖市| 稻城县| 宜春市| 清徐县| 密云县| 金阳县| 利辛县| 福泉市| 金山区| 通渭县|