2024年PHP开发者大会日本站

ImagickDraw::rectangle

(PECL imagick 2, PECL imagick 3)

ImagickDraw::rectangle绘制矩形

描述

public ImagickDraw::rectangle (
    float $x1,
    float $y1,
    float $x2,
    float $y2
): bool
警告

此函数目前未编写文档;仅提供其参数列表。

使用当前的描边、描边宽度和填充设置,根据给定的两个坐标绘制一个矩形。

参数

x1

左上角的x坐标

y1

左上角的y坐标

x2

右下角的x坐标

y2

右下角的y坐标

返回值

没有返回值。

范例

示例 #1 ImagickDraw::rectangle() 例子

<?php
function rectangle($strokeColor, $fillColor, $backgroundColor) {
$draw = new \ImagickDraw();
$strokeColor = new \ImagickPixel($strokeColor);
$fillColor = new \ImagickPixel($fillColor);

$draw->setStrokeColor($strokeColor);
$draw->setFillColor($fillColor);
$draw->setStrokeOpacity(1);
$draw->setStrokeWidth(2);

$draw->rectangle(200, 200, 300, 300);
$imagick = new \Imagick();
$imagick->newImage(500, 500, $backgroundColor);
$imagick->setImageFormat("png");

$imagick->drawImage($draw);

header("Content-Type: image/png");
echo
$imagick->getImageBlob();
}

?>

添加备注

用户贡献的备注 1 条备注

9
garym at binaryfarm dot com
14年前
<?php

// 为新手绘制一个或三个简单的矩形。
// 我正在尽力为非面向对象编程人员添加注释。
// 欢迎提出评论或批评。Gary Melander

$image = new Imagick(); // 创建一个新的 $image 类实例

$width = 600; // 一些必要的尺寸
$height = 400;

// $image 类现在继承了一些属性,例如尺寸、背景颜色…
$image->newImage( $width, $height, new ImagickPixel( 'lightgray' ) );

$draw = new ImagickDraw(); // 创建一个新的绘图类 (?)

$draw->setFillColor('wheat'); // 设置填充和轮廓颜色
$draw->setStrokeColor( new ImagickPixel( 'green' ) );
$draw->rectangle( 100, 100, 200, 200 ); // 绘制矩形

// 再绘制一个
$draw->setFillColor('navy'); // 设置填充和轮廓颜色
$draw->setStrokeColor( new ImagickPixel( 'yellow' ) );
$draw->setStrokeWidth(4);
$draw->rectangle( 150, 225, 350, 300 ); // 绘制矩形

// 再绘制一个
$draw->setFillColor('magenta'); // 设置填充和轮廓颜色
$draw->setStrokeColor( new ImagickPixel( 'cyan' ) );
$draw->setStrokeWidth(2);
$draw->rectangle( 380, 100, 400, 350 ); // 绘制矩形

$image->drawImage( $draw ); // 将绘图类中的内容应用到图像画布

$image->setImageFormat('jpg'); // 为图像指定格式

header('Content-type: image/jpeg'); // 准备Web浏览器显示图像
echo $image; // 发布到世界!

//$image->writeImage('someimage.jpg"); // ...或者将其写入文件…

?>
To Top