PHP實現(xiàn)圖片指定寬高縮放的兩種方法
更新時間:2023年12月06日 09:36:39 作者:zzoood
這篇文章給大家介紹了PHP圖片指定寬高縮放的兩種實現(xiàn)方法,文中通過代碼示例和圖文結合的方式給大家介紹的非常詳細,感興趣的朋友可以參考下
方法一:使用 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);
}
// 將原圖像復制到新圖像并進行縮放
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// 輸出新圖像
header('Content-Type: image/' . image_type_to_extension($type, false));
// 將新圖像保存到目標路徑
$target_path = 'path/to/your/image_100_150.png';
imagepng($new_image, $target_path);
// 釋放內存
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');
- 縮放效果

結語:
方法一 使用GD庫尺寸更加精確,但是會造成變形
方法二 尺寸上會與設置有所不同,但不會變形
到此這篇關于PHP圖片指定寬高縮放的兩種實現(xiàn)方法的文章就介紹到這了,更多相關PHP圖片指定寬高縮放內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PHP去除數(shù)組中重復的元素并按鍵名排序函數(shù)
用php實現(xiàn)的去除數(shù)組中重復的函數(shù)2008-08-08
WordPres對前端頁面調試時的兩個PHP函數(shù)使用小技巧
這篇文章主要介紹了WordPres對前端頁面調試時的兩個PHP函數(shù)使用小技巧,分別是過濾Html內嵌JavaScript與禁止瀏覽器緩存的方法,需要的朋友可以參考下2015-12-12
PHP中date()日期函數(shù)有關參數(shù)整理
PHP中date()日期函數(shù)有關參數(shù)整理,需要的朋友可以參考下。2011-07-07

