PHP ImageMagick - 草图模拟
在本章中,您将学习使用 Imagemagick 提供的一些内置函数来模拟不同类型的草图。
模拟炭笔画
ImageMagick 提供了一个名为"charcoalImage()"的方法,它可以生成输入图像的炭笔画。
语法
public Imagick::charcoalImage(float $radius, float $sigma): bool
该函数有 2 个参数: radius 和 sigma。
Radius 是一个浮点值,指定高斯的半径(以像素为单位),不包括中心像素。
Sigma 也是一个浮点值,指定高斯的标准差(以像素为单位)。
示例
这是一个示例,展示了'charcoalImage()'函数的实现。 首先,创建一个新的 imagick 对象,并将图像作为输入。 然后,'charcoalImage()'函数应用于该图像。 所需的输出以'charcoalImage.png'的形式获得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->charcoalImage(2, 2); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/charcoalImage.png"); ?>
假设以下是程序中的输入图像(image.png)−
输出
模拟铅笔草图
Imagemagick 提供了一个名为 'sketchImage()' 的内置函数,它可以生成输入图像的铅笔草图。
语法
public Imagick::sketchImage(float $radius, float $sigma, float $angle): bool
该函数由 3 个参数组成:radius, sigma, 和 angle。 这些是浮点值。 "Radius"指定高斯的半径(以像素为单位),"sigma"指定高斯的标准偏差(以像素为单位),"angle"指定必须应用效果的角度并指定模糊运动的角度 .
示例
这是一个示例,展示了'sketchImage()'函数的实现。 首先,创建一个新的 imagick 对象,并将图像作为输入。 然后,'sketchImage()' 函数应用于该图像。 所需的输出以"sketchImage.png"的形式获得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->sketchImage(11, 11, 30); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/sketchImage.png"); ?>
假设以下是程序中的输入图像(image.png)−
输出
模拟油画
油画是一种使用油性颜料制作的绘画。 在不实际使用油画的情况下,可以使用 PHP 中 Imagemagick 的内置函数 'oilPaintImage()' 来模拟这幅油画。
语法
public Imagick::oilPaintImage(float $radius): bool
该函数仅包含一个参数"radius",它是一个浮点值。 它指定圆形邻域的半径。 此函数将图像作为输入,并应用模拟油画的特效滤镜并将其作为输出。
示例
这是一个示例,展示了'oilPaintImage()'函数的实现。 首先,创建一个新的 imagick 对象,并将图像作为输入。 然后,'oilPaintImage()' 函数应用于该图像。 所需的输出以"oilPaintImage.png"的形式获得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->oilPaintImage(2); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/oilPaintImage.png"); ?>
假设以下是程序中的输入图像(image.png)−