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