PHP ImageMagick - 图片边框



在数字显示器上显示的每张图片都有黑色、白色或彩色的背景。因此,在背景和照片之间做出区分对于定义图像的视觉边界至关重要。

在黑色或白色背景下,这种区分的需求更加明显。因此,为了达到此目的,必须向照片添加边框。在本节中,您将学习如何使用 ImageMagick 的一些内置函数在 PHP 中为图像添加边框。

添加 3D 边框

可以使用 ImageMagick 提供的内置函数“frameImage()”向图像添加 3D 边框。

语法

public Imagick::frameImage(mixed $matte_color, int $width, int $height, int $inner_bevel, int $outer_bevel): bool

此方法接受 5 个参数

  • matte-color − 表示蒙版颜色。

  • width − 表示边框的宽度。

  • height − 表示边框的高度。

  • inner_bevel − 表示内斜角的宽度。

  • outer_bevel − 表示外斜角的宽度。

获得的输出是具有指定尺寸和颜色的边框的图像。

示例

以下程序展示了如何在 PHP 中使用 Imagick 库创建新的图像文件。它使用现有图像创建 Imagick 类的对象,在其周围添加具有特定参数的框架(在本例中为粉红色和 100x100 像素,边框为 10 像素),然后将修改后的图像写入 PNG 文件。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.jpg");
   $image->frameImage('pink', 100, 100, 10, 10);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/newimage.png");
?>

假设以下为程序中的输入图像(image.jpg):

Adding 3D Border

输出

Adding 3D Border

添加普通边框

ImageMagick 提供了一个方法‘borderImage()’,它可以为图像添加边框。它以图像作为输入,并生成带有边框的图像作为输出。

语法

public Imagick::borderImage(mixed $bordercolor, int $width, int $height): bool

此函数有 3 个参数,分别是边框颜色、宽度和高度。

  • bordercolor 是一个imagickpixel对象或包含边框颜色的字符串。

  • widthheight 是分别保存边框宽度和高度的整数值。

示例

以下程序展示了如何在 PHP 中使用 Imagick 库创建具有 25 像素黄色边框的图像。它从“test/image.png”文件读取图像,并将其写入“test/borderImage.png”文件,其中添加了边框。

<?php
   $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png");
   $image->borderImage('yellow', 25, 25);
   $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/borderImage.png");
?>

假设以下为程序中的输入图像(image.png):

Adding a Normal Border

输出

Adding a Normal Border
广告