函數(shù)名:Imagick::resizeImage()
適用版本:Imagick類在Imagick擴展版本2.0.0及以上可用。
用法: Imagick::resizeImage()函數(shù)用于調(diào)整圖像的大小。它可以根據(jù)指定的寬度和高度來縮放圖像,并且可以選擇保持原始圖像的寬高比例。
語法: bool Imagick::resizeImage(int $width, int $height, int $filter, float $blur, bool $bestfit = FALSE)
參數(shù):
- $width: 新圖像的寬度,可以為0,表示根據(jù)給定的高度等比例縮放圖像。
- $height: 新圖像的高度,可以為0,表示根據(jù)給定的寬度等比例縮放圖像。
- $filter: 縮放時使用的濾波器類型,可以是以下常量之一:
- Imagick::FILTER_UNDEFINED: 未定義濾波器。
- Imagick::FILTER_POINT: 最近鄰像素值濾波器。
- Imagick::FILTER_BOX: 盒式濾波器。
- Imagick::FILTER_TRIANGLE: 三角濾波器。
- Imagick::FILTER_HERMITE: Hermite濾波器。
- Imagick::FILTER_HANNING: Hanning濾波器。
- Imagick::FILTER_HAMMING: Hamming濾波器。
- Imagick::FILTER_BLACKMAN: Blackman濾波器。
- Imagick::FILTER_GAUSSIAN: Gaussian濾波器。
- Imagick::FILTER_QUADRATIC: Quadratic濾波器。
- Imagick::FILTER_CUBIC: Cubic濾波器。
- Imagick::FILTER_CATROM: Catrom濾波器。
- Imagick::FILTER_MITCHELL: Mitchell濾波器。
- Imagick::FILTER_LANCZOS: Lanczos濾波器。
- Imagick::FILTER_BESSEL: Bessel濾波器。
- Imagick::FILTER_SINC: Sinc濾波器。
- $blur: 模糊參數(shù),可以為0,表示不進行模糊操作。
- $bestfit: 是否保持原始圖像的寬高比例,默認為FALSE,設(shè)置為TRUE時會強制保持寬高比例。
返回值: 如果調(diào)整圖像大小成功,則返回TRUE,否則返回FALSE。
示例:
// 創(chuàng)建Imagick對象
$image = new Imagick('image.jpg');
// 調(diào)整圖像大小為300x200,使用三角濾波器,模糊參數(shù)為0.5
$result = $image->resizeImage(300, 200, Imagick::FILTER_TRIANGLE, 0.5);
if ($result) {
// 保存調(diào)整后的圖像
$image->writeImage('resized_image.jpg');
echo '圖像大小調(diào)整成功!';
} else {
echo '圖像大小調(diào)整失敗!';
}
// 銷毀Imagick對象
$image->destroy();
上述示例中,我們首先創(chuàng)建了一個Imagick對象,加載了名為'image.jpg'的圖像文件。然后調(diào)用resizeImage()函數(shù)將圖像大小調(diào)整為300x200,使用三角濾波器,并設(shè)置模糊參數(shù)為0.5。最后,我們保存調(diào)整后的圖像為'resized_image.jpg',并輸出相應(yīng)的成功或失敗信息。最后,記得銷毀Imagick對象以釋放資源。