- PHP ImageMagick 教程
- PHP ImageMagick - 首頁
- PHP ImageMagick - 簡介
- 背景顏色
- 影像反射
- 影像裁剪
- 影像邊框
- 影像縮放
- 合成影像
- 對比度和亮度
- 增強和均衡
- 銳化和模糊
- 影像平鋪
- 影像閾值
- 修改顏色
- 不同的效果
- 保護影像
- 素描模擬
- 編輯外觀
- 旋轉和滾動
- 拼接和擴充套件
- 其他功能
- PHP ImageMagick 有用資源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 資源
- PHP ImageMagick - 討論
PHP ImageMagick - 編輯外觀
在本章中,您將探索如何使用 ImageMagick 的內建函式來編輯影像。您將學習如何在影像邊緣建立褪色和圓角外觀,將其包裹在平行四邊形形狀中,甚至模擬拍立得效果。
暈影影像
“暈影”一詞指的是一張小照片或影像,其背景具有褪色的外觀,並且沒有明確的邊框。這種效果突出了影像的某些方面。因此,為了獲得此濾鏡中的影像,ImageMagick 提供了一個內建函式“vignetteImage()”。此函式以影像作為輸入,應用暈影濾鏡,並獲得其邊框模糊的影像。
語法
public Imagick::vignetteImage(float $blackPoint, float $whitePoint, int $x, int $y): bool
此函式有 4 個引數:黑點、白點、x 和 y。“黑點”和“白點”是浮點值。“x”是指定橢圓“x”偏移量的整數值,“y”是指定橢圓“y”偏移量的整數值。
示例
為了更好地理解“vignetteImage()”函式,請檢視以下示例。首先建立一個 Imagick 物件,並以影像作為輸入。然後,應用“vignetteImage”函式並指定所有引數(黑點=30,白點=10,x=40,y=20)。最後,使用“writeImage()”函式獲取輸出。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->vignetteImage(30, 10, 40, 20); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/vignetteImage.png"); ?>
假設以下是程式中的輸入影像 (image.png):
輸出
圓角
人們普遍認為圓角更容易讓人眼舒適。也就是說,它們分別適合頭部和眼睛的自然運動。圓角影像還可以使影像看起來更有條理和整潔。
要圓角影像,ImageMagick 提供了一個內建函式“roundCorners()”。此函式以影像作為輸入,圓角影像,並生成該影像作為輸出。
語法
public Imagick::roundCorners( float $x_rounding, float $y_rounding, float $stroke_width =10, float $displace =5, float $size_correction =-6 ): bool
此函式有 5 個引數:x_rounding、y_rounding、strike_width、displace 和 size_correction。“x_rounding”和“y_rounding”是浮點值,它們控制圓角的程度。“stroke_width”、“displace”和“size-correction”也是浮點值,用於微調圓角過程。
示例
透過此示例,您將能夠清楚地理解此函式的使用。首先透過建立新的 Imagick 物件將影像作為輸入。使用指定的引數(x_rounding=20,y_rounding=20,stroke-width=5,displace=5,size-correction=-10)將“roundCorners()”函式應用於該影像。然後,使用函式“writeImage()”獲取輸出影像。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/imagee.png"); $image->roundCorners(20, 20, 5, 5, -10); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/roundCornerImage.png"); ?>
假設以下是程式中的輸入影像 (image.png):
輸出
拍立得影像
在本章中,您將學習模擬拍立得照片。拍立得照片是由拍立得相機拍攝的照片。它是一種拍攝照片並在幾秒鐘後列印的照片的相機。它是一種即時列印型別,並具有特殊型別的膠片支架。為了模擬拍立得影像,ImageMagick 提供了一個內建函式“polaroidImage()”。
語法
public Imagick::polaroidImage(ImagickDraw $properties, float $angle): bool
此函式接收 2 個引數:屬性和角度。“屬性”指定拍立得屬性,“角度”以浮點值指定拍立得角度。
示例
在此示例中,您建立了一個新的 imagick 物件並以影像作為輸入。然後,透過指定引數,在該影像上應用“polaroidImage()”函式。拍立得影像作為輸出獲得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/imagee.png"); $image->polaroidImage(new ImagickDraw(), 30); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/polaroidImage.png"); ?>
假設以下是程式中的輸入影像 (image.png):
輸出
建立平行四邊形
在本節中,您將學習“shearImage()”函式。它是 ImageMagick 提供的內建函式。它的功能是建立平行四邊形。此函式以影像作為輸入,並在 X 和 Y 軸上剪下影像以建立平行四邊形,並新增背景顏色。
語法
public Imagick::shearImage(mixed $background, float $x_shear, float $y_shear): bool
此函式接收 3 個引數:背景、x_shear 和 y_shear。“背景”指定背景顏色,“x_shear”指定在 X 軸上剪下的度數,“y_shear”指定在 Y 軸上剪下的度數。
示例
在以下示例中,將影像作為輸入,並將“shearImage()”函式應用於該影像。它接收 3 個引數(背景顏色=rgb(100, 200, 150),x_shear=10 和 y_shear=10)。使用函式“writeImage()”顯示獲得的輸出。
<?php
$image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png");
$image->shearImage('rgb(100, 200, 150)', 10, 10);
$image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/shearImage.png");
?>
假設以下是程式中的輸入影像 (image.png):
輸出