(PECL imagick 2, PECL imagick 3)
ImagickPixel::__construct — ImagickPixel 构造函数
此函数目前没有文档;只有其参数列表可用。
构造一个 ImagickPixel 对象。如果指定了颜色,则在返回之前构造对象,然后使用该颜色对其进行初始化。
color
可选的颜色字符串,用作此对象的初始值。
成功时返回一个 ImagickPixel 对象,失败时抛出 ImagickPixelException。
示例 #1 ImagickPixel::construct()
<?php
function construct() {
$columns = 4;
$exampleColors = array(
"rgba(100%, 0%, 0%, 0.5)",
"hsb(33.3333%, 100%, 75%)", // 中绿色
"hsl(120, 255, 191.25)", // 中绿色
"graya(50%, 0.5)", // 半透明中灰色
"LightCoral", "none", //"cmyk(0.9, 0.48, 0.83, 0.50)",
"#f00", // #rgb
"#ff0000", // #rrggbb
"#ff0000ff", // #rrggbbaa
"#ffff00000000", // #rrrrggggbbbb
"#ffff00000000ffff", // #rrrrggggbbbbaaaa
"rgb(255, 0, 0)", // 每个组件的范围为 0-255 的整数
"rgb(100.0%, 0.0%, 0.0%)", // 每个组件的范围为 0-100% 的浮点数
"rgb(255, 0, 0)", // 范围 0 - 255
"rgba(255, 0, 0, 1.0)", // 相同,带有显式 alpha 值
"rgb(100%, 0%, 0%)", // 范围 0.0% - 100.0%
"rgba(100%, 0%, 0%, 1.0)", // 相同,带有显式 alpha 值
);
$draw = new \ImagickDraw();
$count = 0;
$black = new \ImagickPixel('rgb(0, 0, 0)');
foreach ($exampleColors as $exampleColor) {
$color = new \ImagickPixel($exampleColor);
$draw->setstrokewidth(1.0);
$draw->setStrokeColor($black);
$draw->setFillColor($color);
$offsetX = ($count % $columns) * 50 + 5;
$offsetY = intval($count / $columns) * 50 + 5;
$draw->rectangle(0 + $offsetX, 0 + $offsetY, 40 + $offsetX, 40 + $offsetY);
$count++;
}
$image = new \Imagick();
$image->newImage(350, 350, "blue");
$image->setImageFormat("png");
$image->drawImage($draw);
header("Content-Type: image/png");
echo $image->getImageBlob();
}
?>