我为特定任务构建图形编辑器。用户上传扫描的硬币和修剪背景。前端部分工作得很好,但我有后端部分的问题。我使用php Imagick跟随算法:
我当前的版本使用外部png掩码文件,因为我找不到如何绘制透明圆的解决方案。 SO的所有示例都使用反向方法 - 它们绘制一个透明背景的白色圆圈。
UPD:这是一个有效的例子。
$draw = new \ImagickDraw();
$draw->setFillColor(new ImagickPixel('#ffff00'));
$draw->circle(101, 101, 200, 100);
$imagick = new \Imagick();
$imagick->newImage(202, 202, new ImagickPixel('#ffffff'));
$imagick->setImageFormat("png");
$imagick->despeckleimage();
$imagick->drawImage($draw);
$imagick->transparentPaintImage('#ffff00', 0, 1, false);
header("Content-Type: image/png");
echo $imagick->getImageBlob();