- PHP ImageMagick 教程
- PHP ImageMagick - 首页
- PHP ImageMagick - 简介
- 背景颜色
- 图像倒影
- 图像裁剪
- 图像边框
- 图像缩放
- 图像合成
- 对比度和亮度
- 增强和均衡
- 锐化和模糊
- 图像平铺
- 图像阈值
- 修改颜色
- 不同的效果
- 保护图像
- 素描模拟
- 编辑外观
- 旋转和滚动
- 拼接和扩展
- 其他函数
- PHP ImageMagick 有用资源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 资源
- PHP ImageMagick - 讨论
PHP ImageMagick - 其他函数
应用函数
我们在“预定义常量”章节中了解了 ImageMagick 中的预定义常量。为了应用这些函数常量,ImageMagick 提供了一个内置函数`functionImage()`,它包含三个函数:undefined、polynomial 和 sinusoid。您可以使用此函数将这些常量应用于图像。
语法
public Imagick::functionImage(int $function, array $arguments, int $channel = Imagick::CHANNEL_DEFAULT): bool
此函数主要包含两个参数:函数和参数。
函数指的是函数常量列表(sinusoid 或 polynomial)。
参数指定以数组格式传递给函数的参数。
要应用此函数,我们需要使用‘newPseudoImage()’函数创建一个新图像,然后通过指定参数在此图像上应用此函数。它不接受任何输入,但在应用函数后会产生输出。
示例
在此示例中,您可以看到 ImageMagick 中‘functionImage()’函数的实现。此代码包括创建新的 Imagick 对象并将图像作为输入。
使用‘newPseudoImage()’函数创建具有所需尺寸的新图像,然后应用该函数。要应用的函数作为‘functionImage()’函数中的一个参数指定。使用‘writeImage()’显示获得的输出图像。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image5.jpeg"); $image->newPseudoImage(500, 400, 'gradient:white-brown'); $image->functionImage(Imagick::FUNCTION_SINUSOID, array(19, 33)); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/functionImage.png"); ?>
输出
图像注释
为了识别整个图像或图像的含义,必须对图像进行注释。图像注释是以文本形式添加图像的解释的一种方式。为此,ImageMagick 库中提供了一个函数‘annotateImage()’。
语法
public Imagick::annotateImage(ImagickDraw $draw_settings,float $x, float $y, float $angle, string $text): bool
此函数有 5 个参数:绘图设置、x、y、角度和文本。’draw_settings’ 是一个 ImageMagick 对象,其中包含绘制文本的设置。
x 是文本左侧的水平偏移量(以像素为单位)。
y 是文本基线的垂直偏移量(以像素为单位)。
angle 指定必须写入文本的角度。
text 是要绘制的字符串。
此函数将图像作为输入,并将带有某些注释文本的图像作为输出。
示例
在下面的示例中,我们创建一个新的 Imagick 对象 ($img) 并将图像传递给它。然后,创建一个新的 ImagickDraw 对象 ($draw),并在此 draw 对象上设置字体大小。
最后,在您创建的 Imagick 对象 ('$img') 上使用'annotateImage()',传入您的 draw 对象、x 坐标、y 坐标、角度和文本作为参数。获得的输出形式为 'annotateImage.png'。
<?php $draw=new ImagickDraw(); $img=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpeg"); $draw->setFontSize(30); $img->annotateImage($draw, 525, 820, 0, 'HAPPY DIWALI'); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/annotateImage.png"); ?>
假设以下是程序中的输入图像 (image.jpeg) &minnus;
输出
图像组合
附加一组图像的过程是将所有图像组合在一起,以便每个图像都附加到另一个图像的末尾,依此类推。为此,ImageMagick 提供了一个内置函数‘appendImages()’,您可以在其中将一组图像附加到更大的图像中。
语法
public Imagick::appendImages(bool $stack): Imagick
此函数接受一个布尔参数“stack”。此值用于确定是垂直堆叠图像还是水平堆叠图像。“stack”的默认值为 false。这意味着图像从左到右堆叠。如果“stack”值为 true,则图像从上到下堆叠。
示例
以下示例在 PHP 中实现了‘appendImages()’函数。在此示例中,创建了 5 个具有相同尺寸但颜色不同的新图像。然后,使用‘resetIterator()’重置像素迭代器,然后使用‘appendImages()’函数附加所有创建的图像,并获得输出。
<?php $image=new Imagick(); $image->newImage(100, 100, "black"); $image->newImage(100, 100, "white"); $image->newImage(100, 100, "black"); $image->newImage(100, 100, "white"); $image->newImage(100, 100, "black"); $image->resetIterator(); $combined=$image->appendImages(false); $combined->writeImage($_SERVER['DOCUMENT_ROOT']."/test/appendImages.png"); ?>