函數(shù)名:Gmagick::resizeimage()
適用版本:PHP擴(kuò)展Gmagick版本2.0.1以上
用法:該函數(shù)用于調(diào)整圖像的大小。它會(huì)根據(jù)指定的寬度和高度參數(shù)縮放圖像。如果只提供了寬度或高度參數(shù),則會(huì)根據(jù)提供的參數(shù)等比例縮放圖像。
語(yǔ)法:bool Gmagick::resizeimage(int $width, int $height, int $filter, float $blur [, bool $bestfit = FALSE])
參數(shù):
- $width: 調(diào)整后的圖像寬度(像素)
- $height: 調(diào)整后的圖像高度(像素)
- $filter: 縮放過(guò)程中使用的濾波器類(lèi)型,可以是以下常量之一:
- Gmagick::FILTER_UNDEFINED (默認(rèn)): 使用未定義的濾波器
- Gmagick::FILTER_POINT: 使用最近鄰插值
- Gmagick::FILTER_BOX: 使用盒狀濾波器
- Gmagick::FILTER_TRIANGLE: 使用三角濾波器
- Gmagick::FILTER_HERMITE: 使用Hermite濾波器
- Gmagick::FILTER_HANNING: 使用Hanning濾波器
- Gmagick::FILTER_HAMMING: 使用Hamming濾波器
- Gmagick::FILTER_BLACKMAN: 使用Blackman濾波器
- Gmagick::FILTER_GAUSSIAN: 使用Gaussian濾波器
- Gmagick::FILTER_QUADRATIC: 使用Quadratic濾波器
- Gmagick::FILTER_CUBIC: 使用Cubic濾波器
- Gmagick::FILTER_CATROM: 使用Catrom濾波器
- Gmagick::FILTER_MITCHELL: 使用Mitchell濾波器
- Gmagick::FILTER_LANCZOS: 使用Lanczos濾波器
- Gmagick::FILTER_BESSEL: 使用Bessel濾波器
- Gmagick::FILTER_SINC: 使用Sinc濾波器
- $blur: 模糊的程度,值越大表示模糊效果越明顯
- $bestfit (可選): 是否將圖像調(diào)整為適應(yīng)指定寬度和高度的最佳適應(yīng)大小,默認(rèn)為FALSE
返回值:成功時(shí)返回TRUE,失敗時(shí)返回FALSE
示例:
// 創(chuàng)建一個(gè)Gmagick對(duì)象
$gmagick = new Gmagick('path/to/image.jpg');
// 調(diào)整圖像大小為200x200像素,使用三角濾波器和默認(rèn)的模糊程度
$gmagick->resizeimage(200, 200, Gmagick::FILTER_TRIANGLE, 1.0);
// 將調(diào)整后的圖像保存到新文件中
$gmagick->write('path/to/resized_image.jpg');
注意事項(xiàng):
- 該函數(shù)需要安裝Gmagick擴(kuò)展并啟用相關(guān)庫(kù)才能正常使用。
- 調(diào)整圖像大小可能會(huì)導(dǎo)致圖像失真或變形,根據(jù)實(shí)際需求選擇合適的濾波器和模糊程度。
- 如果$bestfit參數(shù)設(shè)置為T(mén)RUE,函數(shù)會(huì)嘗試調(diào)整圖像大小以適應(yīng)指定的寬度和高度,但不會(huì)保持原始圖像的縱橫比。