- 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):
输出