PHP實(shí)現(xiàn)圖片指定寬高縮放的兩種方法
方法一:使用 GD 庫(kù)或 ImageMagick 庫(kù)。
- 這里是一個(gè)使用 GD 庫(kù)的示例:
<?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)建一個(gè)新的空白圖像 $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ù)制到新圖像并進(jìn)行縮放 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的圖像處理擴(kuò)展
- 本示例版本:
php:5.0
think-image:1.0
- 安裝擴(kuò)展:
composer require topthink/think-image
- 代碼示例
$image = \think\Image::open('./image.png'); // 按照原圖的比例生成一個(gè)最大為150*150的縮略圖并保存為thumb.png $image->thumb(150, 150)->save('./thumb.png');
- 縮放效果
結(jié)語(yǔ):
方法一 使用GD庫(kù)尺寸更加精確,但是會(huì)造成變形
方法二 尺寸上會(huì)與設(shè)置有所不同,但不會(huì)變形
到此這篇關(guān)于PHP圖片指定寬高縮放的兩種實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)PHP圖片指定寬高縮放內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP去除數(shù)組中重復(fù)的元素并按鍵名排序函數(shù)
用php實(shí)現(xiàn)的去除數(shù)組中重復(fù)的函數(shù)2008-08-08WordPres對(duì)前端頁(yè)面調(diào)試時(shí)的兩個(gè)PHP函數(shù)使用小技巧
這篇文章主要介紹了WordPres對(duì)前端頁(yè)面調(diào)試時(shí)的兩個(gè)PHP函數(shù)使用小技巧,分別是過(guò)濾Html內(nèi)嵌JavaScript與禁止瀏覽器緩存的方法,需要的朋友可以參考下2015-12-12簡(jiǎn)單的php 驗(yàn)證圖片生成函數(shù)
本函數(shù)可以生成簡(jiǎn)單的驗(yàn)證圖片,用于輸入的驗(yàn)證。2009-05-05PHP中date()日期函數(shù)有關(guān)參數(shù)整理
PHP中date()日期函數(shù)有關(guān)參數(shù)整理,需要的朋友可以參考下。2011-07-07php無(wú)序樹(shù)實(shí)現(xiàn)方法
這篇文章主要介紹了php無(wú)序樹(shù)實(shí)現(xiàn)方法,實(shí)例分析了php無(wú)序樹(shù)的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07