我想将html元素放置在png上,用Imagick创建。
到目前为止,我的代码:
$out = "<table><tr><td>There will be data</td></tr></table>";
$draw = new \ImagickDraw();
$draw->setStrokeOpacity(1);
$draw->setStrokeColor("rgb(255,255,255)");
$draw->setFillColor('rgb(200, 200, 200)');
$draw->setStrokeWidth(2);
$draw->setFont("/var/www/myapp/public/fonts/calibri.ttf");
foreach ($sizes as $size) {
$draw->setFontSize($size);
$draw->annotation(50, (24 * 24 / 16), $out);
}
$imagick = new \Imagick();
$imagick->newImage(500, 500, 'rgb(0, 0, 0)');
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
但是它将$out
呈现为字符串而不是表格。
如何将其呈现为表格?
答案 0 :(得分:0)
我认为您不能,您必须检查该函数的源代码,但它似乎只使用字符串作为参数。
http://php.net/manual/en/imagickdraw.annotation.php https://github.com/mkoppanen/imagick/blob/master/imagickdraw_class.c
答案 1 :(得分:0)
Imagick不是HTML渲染器。
如果您想要页面的屏幕截图,我强烈建议您以无头模式使用Chrome浏览器以类似以下方式进行屏幕截图:
AddDate()