Imagick::drawImage

(PECL imagick 2, PECL imagick 3)

Imagick::drawImage在当前图像上渲染 ImagickDraw 对象

说明

public Imagick::drawImage(ImagickDraw $draw): bool

在当前图像上渲染 ImagickDraw 对象。

参数

draw

要在图像上渲染的绘图操作。

返回值

成功时返回 true

添加注释

用户贡献的注释 2 个注释

blah at blub dot com
14 年前
如果您的 imagick 库开始显示:"Non-conforming drawing primitive...", 这可能是因为您的区域设置没有正确设置。请找到所有 setlocale 并暂时将其删除,以便您可以检查一下,这将解决问题。
sualk at lednew dot de
15 年前
ImagickDraw (v 2.2.0) 似乎与 PHP-GTK2 (v 2.0.1) 不协调。

如果加载了 php_gtk2.so,则在当前图像上渲染 ImagickDraw 对象将失败(或者导致图像没有绘制,为空)。

用于重现故障的代码

#!/usr/bin/php5
<?php
dl
("php_gtk2.so"); // 注释掉此行以进行第二次尝试

$string = "Hello world!";

$im = new Imagick();
$draw = new ImagickDraw();

$draw->setFillColor(new ImagickPixel('blue'));

$draw->setFontSize(28);

$metrix = $im->queryFontMetrics($draw, $string);

$draw->annotation(0,25,$string);

$im->newImage($metrix['textWidth'],$metrix['textHeight'], new ImagickPixel('white'));
$im->drawImage($draw);
$im->borderImage(new ImagickPixel('black'), 1, 1);
$im->setImageFormat('png');

$im->writeImage("./test.png");
?>
To Top