PHP實現(xiàn)圖片指定寬高縮放的兩種方法
更新時間:2023年12月06日 09:36:39 作者:zzoood
這篇文章給大家介紹了PHP圖片指定寬高縮放的兩種實現(xiàn)方法,文中通過代碼示例和圖文結(jié)合的方式給大家介紹的非常詳細(xì),感興趣的朋友可以參考下
方法一:使用 GD 庫或 ImageMagick 庫。
- 這里是一個使用 GD 庫的示例:
<?php // 指定圖片路徑 $image_path = 'path/to/your/image.jpg'; // 指定縮放后的寬度和高度 $new_width = 200; $new_height = 150; // 獲取圖片信息 list($width, $height, $type) = getimagesize($image_path); // 根據(jù)圖片類型創(chuàng)建圖片資源 switch ($type) { case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($image_path); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($image_path); break; case IMAGETYPE_GIF: $image = imagecreatefromgif($image_path); break; default: die('Unsupported image type'); } // 創(chuàng)建一個新的空白圖像 $new_image = imagecreatetruecolor($new_width, $new_height); // 保持 PNG 和 GIF 圖像的透明度 if ($type == IMAGETYPE_PNG || $type == IMAGETYPE_GIF) { imagealphablending($new_image, false); imagesavealpha($new_image, true); $transparent = imagecolorallocatealpha($new_image, 255, 255, 255, 127); imagefilledrectangle($new_image, 0, 0, $new_width, $new_height, $transparent); } // 將原圖像復(fù)制到新圖像并進行縮放 imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); // 輸出新圖像 header('Content-Type: image/' . image_type_to_extension($type, false)); // 將新圖像保存到目標(biāo)路徑 $target_path = 'path/to/your/image_100_150.png'; imagepng($new_image, $target_path); // 釋放內(nèi)存 imagedestroy($image); imagedestroy($new_image); ?>
- 原圖
- 縮放效果
方法二:使用ThinkPHP的圖像處理擴展
- 本示例版本:
php:5.0
think-image:1.0
- 安裝擴展:
composer require topthink/think-image
- 代碼示例
$image = \think\Image::open('./image.png'); // 按照原圖的比例生成一個最大為150*150的縮略圖并保存為thumb.png $image->thumb(150, 150)->save('./thumb.png');
- 縮放效果
結(jié)語:
方法一 使用GD庫尺寸更加精確,但是會造成變形
方法二 尺寸上會與設(shè)置有所不同,但不會變形
到此這篇關(guān)于PHP圖片指定寬高縮放的兩種實現(xiàn)方法的文章就介紹到這了,更多相關(guān)PHP圖片指定寬高縮放內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP去除數(shù)組中重復(fù)的元素并按鍵名排序函數(shù)
用php實現(xiàn)的去除數(shù)組中重復(fù)的函數(shù)2008-08-08WordPres對前端頁面調(diào)試時的兩個PHP函數(shù)使用小技巧
這篇文章主要介紹了WordPres對前端頁面調(diào)試時的兩個PHP函數(shù)使用小技巧,分別是過濾Html內(nèi)嵌JavaScript與禁止瀏覽器緩存的方法,需要的朋友可以參考下2015-12-12PHP中date()日期函數(shù)有關(guān)參數(shù)整理
PHP中date()日期函數(shù)有關(guān)參數(shù)整理,需要的朋友可以參考下。2011-07-07