
- PHP ImageMagick 教程
- PHP ImageMagick - 首頁
- PHP ImageMagick - 簡介
- 背景顏色
- 影像倒影
- 影像裁剪
- 影像邊框
- 影像大小調整
- 影像合成
- 對比度和亮度
- 增強和均衡
- 銳化和模糊
- 影像平鋪
- 影像閾值
- 修改顏色
- 不同的效果
- 保護影像
- 素描模擬
- 編輯外觀
- 旋轉和滾動
- 拼接和擴充套件
- 其他功能
- PHP ImageMagick 有用資源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 資源
- PHP ImageMagick - 討論
PHP ImageMagick - 圖片大小調整
本章將學習如何使用 ImageMagick 提供的各種內建函式自適應地調整影像大小以及按特定尺寸縮放影像。
使用 ImageMagick 調整影像大小時,可以透過兩種不同的方式實現:縮放或裁剪。縮放會導致大小成比例地增加或減少,而裁剪則會根據使用者設定的特定引數裁掉原始影像的部分。
自適應調整影像大小
在許多情況下,我們希望將影像稍微縮小到較小的“網頁尺寸”。為此,ImageMagick 提供了一種名為“adaptiveResizeImage()”的方法,它可以幫助自適應地調整影像大小。這還可以避免在顏色急劇變化時出現模糊。
語法
public Imagick::adaptiveResizeImage(int $columns, int $rows, bool $bestfit = false, bool $legacy = false): bool
此方法的引數為**列數、行數**和**bestfit**。
**列數**指定縮放影像中的列數。
**行數**表示縮放影像中的行數。
**bestfit** 指定是否將影像擬合到邊界框內。
示例
以下示例演示如何在 PHP 中實現此函式。首先建立一個新的 Imagick 物件並獲取輸入影像。然後,對該輸入影像應用**'adaptiveResizeImage()'**方法。最後,將輸出影像儲存為**'adaptiveResizeImage.png'**。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpg"); $image->adaptiveResizeImage(2000, 1000); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/adaptiveResizeImage.png"); ?>
假設程式中的輸入影像如下 (image.jpg) −

輸出

將影像縮放至所需尺寸
為了使影像適合網站,必須有一些所需的尺寸。將影像縮放至這些尺寸將刪除不必要的畫素,或建立或新增新的畫素細節。ImageMagick 允許我們使用**‘resizeImage()’**方法在 PHP 中調整影像大小。它以影像作為輸入,並根據所需尺寸調整其大小,並給出輸出。
為了確保影像適合網站,必須將其縮放至特定尺寸。ImageMagick 的**'resizeImage()'**方法允許我們在 PHP 中執行此操作,它接受影像作為輸入,並根據所需尺寸調整其大小,並返回生成的影像。
語法
public Imagick::resizeImage(int $columns, int $rows, int $filter, float $blur, bool $bestfit=false, bool $legacy=false):bool
**resizeImage()**方法的引數為列數、行數、濾鏡、模糊度和bestfit。
**列數**和**行數**是分別指定影像寬度和高度的整數值。
**濾鏡**是一個整數值,它指的是濾鏡常量列表,例如 filter_point、filter_box、filter_triangle 等。
**模糊度**因子是浮點值。如果模糊度因子大於 1,則模糊;如果小於 1,則清晰。
**bestfit** 是一個可選的擬合引數。
示例
以下是使用 PHP 調整影像大小的示例。在這裡,我們建立了一個新的 Imagick 物件和一個空影像(作為輸入)。然後,對建立的影像呼叫**'resizeImage()'**方法。輸出將為 PNG 格式,名為**'resizeImage'**。
<?php $img=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpg"); $img->resizeImage(200, 300, null, null, null, null); $img->writeImage($_SERVER['DOCUMENT_ROOT']."/test/newimage.png"); ?>
假設程式中的輸入影像如下 (image.jpg) −

輸出
