📅  最后修改于: 2023-12-03 15:03:38.555000             🧑  作者: Mango
imagickdraw setviewbox()
函数用于设置绘图对象(imagickdraw)的视口框(viewbox),即定义绘图的可见区域。视口框是一个矩形区域,通过指定左上角和右下角的坐标来定义。
bool ImagickDraw::setViewbox(float $x1, float $y1, float $x2, float $y2)
$x1
:视口框的左上角 x 坐标。$y1
:视口框的左上角 y 坐标。$x2
:视口框的右下角 x 坐标。$y2
:视口框的右下角 y 坐标。如果成功设置视口框,则返回 true
,否则返回 false
。
<?php
$draw = new \ImagickDraw();
$draw->setFillColor('green');
$draw->rectangle(100, 100, 300, 200);
$image = new \Imagick();
$image->newImage(500, 300, 'white');
$image->setImageFormat('png');
$image->drawImage($draw);
// 在视口框之内,绘制一个红色矩形
$draw->setViewbox(150, 150, 250, 250);
$draw->setFillColor('red');
$draw->rectangle(200, 200, 300, 250);
// 在视口框之外,绘制一个蓝色矩形(不会显示出来)
$draw->setFillColor('blue');
$draw->rectangle(50, 50, 150, 100);
$image->drawImage($draw);
$image->writeImage('output.png');
?>
该例子创建一个 500x300 大小的白色背景图像,并在绘图对象上绘制一个绿色矩形。然后,使用 setViewbox()
函数设置视口框,限定绘图对象的可见区域。在视口框内,又绘制了一个红色矩形。在视口框之外绘制的蓝色矩形将被裁剪,不会显示出来。最后,将图像保存为 output.png
。
ImagickDraw::rectangle()
:在绘图对象上绘制一个矩形。更多关于 ImagickDraw 类的信息和其他使用方法,请参阅 PHP 官方文档。