1

有没有办法在使用 PHP ImageMagick时获得 GD 函数imagefilledarc()的结果?我环顾四周,但到目前为止还没有找到令人满意的解决方案。我希望它支持透明度,并用它来绘制馅饼。

4

4 回答 4

1

你最好的选择是使用 ImageMagick::Draw。它有一个弧命令;您无需指定中心,而是指定边界矩形。您只需要在它之前添加一个命令来设置填充,也许在它之后添加一个命令来关闭填充。

http://us.php.net/manual/en/function.imagickdraw-arc.php

于 2009-06-27T00:31:47.233 回答
1

据我所知, ImagickDraw::arc 是唯一的方法(除非你想创建一个逐像素绘制它的函数)。但是要让它像 gd 一样工作,你只需要做一些小的改动。例如,这个:

imagearc($image, $cx, $cy, $width, $height, $start, $end, $color);

应该相当于这个(我没有测试过):

ImagickDraw::setStrokeColor($imageMagickColor);    //I don't remember how to allocate the color
ImagickDraw::arc($cx-$width/2, $cy-$height/2, $cx+$width/2, $cy+$height/2, $start, $end);
于 2009-07-06T15:37:54.960 回答
1

不完全是您所要求的,但使用 Google Chart API http://code.google.com/apis/chart/绘制饼图很容易

替代文字

于 2009-07-15T11:17:46.723 回答
1

由于这篇文章时不时地受到谷歌人的攻击,并且没有有效的答案,我想我应该给出一些提示。有一个名为 Imagine ( https://github.com/avalanche123/Imagine ) 的优秀库,它使用相同的调用支持最流行的 PHP 图像库(ImageMagick、GraphicsMagick 和 GD)。

它的 API 包含一个 pieSlice 函数(https://imagine.readthedocs.io/en/stable/_static/API/Imagine/Draw/DrawerInterface.html#method_pieSlice)。该函数的来源是https://github.com/avalanche123/Imagine/blob/develop/src/Imagick/Drawer.php#L242

于 2012-06-19T08:24:54.220 回答