
- PHP ImageMagick 教程
- PHP ImageMagick - 首頁
- PHP ImageMagick - 簡介
- 背景顏色
- 影像倒影
- 影像裁剪
- 影像邊框
- 影像縮放
- 影像合成
- 對比度和亮度
- 增強和均衡
- 銳化和模糊
- 影像平鋪
- 影像閾值
- 修改顏色
- 各種效果
- 保護影像
- 素描模擬
- 編輯外觀
- 旋轉和滾動
- 拼接和擴充套件
- 其他功能
- PHP ImageMagick 有用資源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 資源
- PHP ImageMagick - 討論
PHP ImageMagick - 各種效果
建立3D效果
具有高度、寬度和深度的影像稱為三維 (3D) 影像。3D 影像為使用者提供了物件的逼真複製。
為了直接在伺服器上建立此效果,ImageMagick 提供了一個名為“shadeImage()”的內建函式。這非常方便,它能夠輕鬆地將標準 2D 影像轉換為高質量的 3D 渲染。
語法
public Imagick::shadeImage(bool $gray, float $azimuth, float $elevation): bool
此函式採用 3 個引數:灰度、方位角和仰角。
**灰度** 是一個布林值,用於設定每個畫素的強度陰影。
**方位角** 和 **仰角** 是浮點值,分別定義光源相對於 x 軸和 z 軸的方向。
為了建立 3D 效果,主要考慮光量和光線方向。此函式將影像作為輸入,並生成具有 3D 效果的影像作為輸出。
示例
此示例顯示了 **'shadeImage()'** 函式的使用。在此,建立了一個 Imagick 物件並將影像作為輸入傳遞。然後呼叫 **'shadeImage()'** 函式,並提供灰度值、方位角值和仰角作為引數。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->shadeImage(true, 50, 30); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/shadeImage.png"); ?>
假設程式中的輸入影像如下 (image.png) −

輸出

建立太陽化效果
當攝影膠片嚴重曝光過度時看到的這種效果稱為太陽化效果。要在 PHP 中建立該效果,ImageMagick 提供了一個名為 **‘solarizeImage()’** 的內建函式。
此效果會生成色調反轉的影像,其中高光變暗,反之亦然。
語法
public Imagick::solarizeImage(int $threshold): bool
此函式採用“閾值”作為引數。它是一個整數,用於測量太陽化效果的程度。
示例
此示例顯示了 **‘solarizeImage()’** 函式的實現。建立一個新的 imagick 物件並將影像作為輸入。現在,
‘solarizeImage()’
函式應用於帶有閾值引數,獲得的輸出影像是 ‘solarizeImage.png’ 格式。<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/imagee.png"); $image->solarizeImage(0.3); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/solarizeImage.png"); ?>
假設程式中的輸入影像如下 (image.png) −

輸出

建立波浪濾鏡效果
ImageMagick 提供了一個名為 **‘waveImage()’** 的內建函式,它有助於模擬影像上的波浪濾鏡。它將影像作為輸入,輸出的影像是帶有波浪濾鏡的影像。
語法
public Imagick::waveImage(float $amplitude, float $length): bool
此函式有兩個引數:幅度和長度。
幅度指定波的幅度。
長度指定波的長度。
示例
這是一個示例,它顯示了 **‘waveImage()’** 函式的實現。首先,建立一個新的 imagick 物件並將影像作為輸入。然後,將 **‘waveImage()’** 函式應用於該影像。所需的輸出以 ‘waveImage.png’ 的形式獲得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->waveImage(2, 4); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/waveImage.png"); ?>
假設程式中的輸入影像如下 (image.png) −

輸出

建立漩渦效果
在本節中,您將學習如何旋轉影像。通常,旋轉意味著以扭曲或圓周運動快速移動。包含此類效果的影像稱為旋轉影像。手動建立旋轉影像很困難。但是,為了簡化此過程,ImageMagick 提供了一個名為 **‘swirlImage()’** 的內建函式,它可以圍繞影像中心旋轉畫素。
語法
Imagick::swirlImage(float $degrees): bool
此函式採用單個引數:角度。‘角度’ 是一個浮點值,表示每個畫素移動的弧度的掃描範圍。透過這種方式,當角度從 1 移動到 360 時,您可以獲得更顯著的效果。
示例
在下面的示例中,您首先建立一個新的 imagick 物件並輸入影像。然後,透過指定角度 (degrees=200) 來應用 **‘swirlImage()’** 函式。最後,獲得旋轉影像作為輸出。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/imagee.png"); $image->swirlImage(200); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/swirlImage.png"); ?>
假設程式中的輸入影像如下 (image.png) −

輸出
