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 像素,边框为 10px),然后将修改后的图像写入为 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) -

添加 3D 边框

输出

添加 3D 边框

添加普通边框

Imagemagick 提供了一种方法“borderImage()”,可以为图像添加边框。它将图像作为输入并生成带有边框的图像作为输出。

句法

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

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

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

  • 宽度和高度是保存边框宽度和高度的整数值

例子

以下程序展示了如何在 PHP 中使用 Imagick 库创建带有 25px 黄色边框的图像。它从“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) -

添加普通边框

输出

添加普通边框