PHP Conference Japan 2024

Imagick::spliceImage

(PECL imagick 2, PECL imagick 3)

Imagick::spliceImage将纯色拼接到图像中

描述

public Imagick::spliceImage(
    int $width,
    int $height,
    int $x,
    int $y
): bool

将纯色拼接到图像中。

参数

width

height

x

y

返回值

成功时返回 true

示例

示例 #1 Imagick::spliceImage()

<?php
function spliceImage($imagePath, $startX, $startY, $width, $height) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->spliceImage($width, $height, $startX, $startY);
header("Content-Type: image/jpg");
echo
$imagick->getImageBlob();
}

?>

添加注释

用户贡献注释 1 条注释

0
fake0 at shenafu dot com
8 年前
spliceImage() 通过创建与图像背景颜色相同的框来增加图像的尺寸,而不会拉伸原始图像。

您可以在运行 spliceImage() 之前使用 setImageBackgroundColor() 设置颜色。

$width 和 $height 参数分别定义水平和垂直方向的增加量,这决定了框的大小。(请注意,这些值并不总是与框的大小相同。)新图像的最终尺寸为
$newWidth = $oldWidth + $width
$newHeight = $oldHeight + $height

因此,要沿两个方向扩展图像,$width 和 $height 应为正值。要仅沿一个方向(水平或垂直)扩展,将其中一个值设置为 0(分别为 $height 或 $width)。

$x 和 $y 参数相对于原始图像,并定义放置框的位置。如果 $x 和 $y 是原始图像的其中一个角,则框将放置在相应的角并从该角向外扩展图像。否则,框将原始图像分成两侧或角,并将框放置在新图像的中间。因此,您可以使用 $x 和 $y 来指示原始图像在哪里以及如何被分割。任何剩余的空间都将填充背景颜色。
To Top