php - 如何在 PHP ImageMagick 中绘制虚线?

标签 php drawing imagick

我正在尝试使用 PHP Imagick 绘制虚线。此代码生成一条实线:

$line = new ImagickDraw();
$line->setStrokeWidth(3);
$line->setStrokeDashArray([10, 10]);
$line->line(0, 0, 100, 100);

setStrokeDashArray() 似乎适用于 ImagickDraw::rectangle() 上的轮廓,但不适用于 ImagickDraw::line() 绘图。有没有办法画简单的虚线?

最佳答案

要获得内部没有实线的漂亮虚线,请将填充颜色设置为不透明度为零(只要不透明度值为 0,实际的颜色选择并不重要) ),然后不要忘记设置描边颜色。

一个工作示例(添加了对浏览器转储的调试):

$line = new ImagickDraw();
$line->setStrokeColor('rgb(0, 0, 0)');
$line->setFillColor('rgba(255, 255, 255, 0)');
$line->setStrokeWidth(3);
$line->setStrokeDashArray([10, 10]);
$line->line(0, 0, 100, 100);

// for debugging, output to browser:
$image = new Imagick();
$image->newImage(200, 200, 'rgb(230, 230, 230)');
$image->setImageFormat("png");
$image->drawImage($line);
header("Content-Type: image/png");
echo $image->getImageBlob();
exit;

调试输出结果:

Debug Output Example

关于php - 如何在 PHP ImageMagick 中绘制虚线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49036134/

相关文章:

php - 更改 ImageMagick 的 tmp

php - Imagick max 资源在 php 脚本中与 php 命令行不同

php - 在 osx 10.9 上编译 phalcon 时出现问题

javascript - 在 HTML5 canvas 中通过鼠标移动绘制半透明线条

javascript - Fabric.js - 带有免费矩形边界框的文本,如 Google 幻灯片

ruby - 在 X11 上的每个窗口之上绘图

php - 如何使用 PHP 放大 SVG 并另存为 PNG,而不损失质量?

php - 从 localhost 测试 PHP 的邮件功能

php - 使用 IN 比较 PHP 数组和 MySQL 数据库,但只显示第一个结果

php - Yii2 中的 GridView 过滤器模型