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