如何在PHP中绘制这种类型的图像

发布于 2024-09-16 12:58:12 字数 489 浏览 6 评论 0原文

我想用 PHP 绘制一个图像,如下图所示的圆圈 -


我应该如何继续?是否有任何可用的 PHP 插件或我可以用来生成此类图像的东西,或者我应该使用 GD 库并自己手动编码?

编辑 我正在寻找一些开源的库。

I want to draw an image in PHP, which looks like the circle in the following image -

How should I proceed with this? Is there any available PHP plugin or something that I can use to generate this type of image, or should I use GD library and hand-code it myself?

EDIT
I am looking for some library that is open-source.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

辞取 2024-09-23 12:58:12

不要自己手动编码,因为那会非常痛苦。我曾经不得不编写一个饼图生成器。

有很多图形引擎:

  1. JpGraph
  2. GraPHPite
  3. Google 图表工具< /a>

看看他们为您提供了什么。可能不完全相同,但非常接近。

Do not handcode it yourself as that would be very painful. I once had to code a pie-chart generator.

There are plenty of graph engines out there:

  1. JpGraph
  2. GraPHPite
  3. Google Chart Tools

Have a look at what they offer you. Might not be the exact same but something very close.

谈情不如逗狗 2024-09-23 12:58:12

我不知道你想在该图像中显示什么,但它看起来像某种图表,所以我会寻找一个图表库,例如 JpGraph,然后再重新编码:

http://jpgraph.net/

I don't know what you're trying to display in that image but it looks like some kind of graph, so I'd look for a chart-library, e.g. JpGraph, before coding it all again:

http://jpgraph.net/

惟欲睡 2024-09-23 12:58:12

这看起来像转换为极坐标的条形图。

这是生成此类图片的简单方法:

  • 绘制条形图(使用图表库或您自己),没有任何间隙
    酒吧之间。确保条形图的左侧和右侧没有空格。

  • 使用 GD 的 gdImageSquareToCircle() 函数将

您可能必须在转换图像之前,将条形图旋转 180°(即条形图应从上到下增长)。

This looks like a bar chart converted to polar coordinates.

Here's an easy way to generate such a picture:

  • Draw your bars (either using a chart library or on your own) without any gaps
    between the bars. Make sure there is no whitespace to the left and right of your bars.

  • Transform the image to polar coordinates using GD's gdImageSquareToCircle() function

You probably might have to rotate your bars by 180° (i.e. the bars should grow from top to bottom) before transforming the image.

浅暮の光 2024-09-23 12:58:12

这个:

$im = imagecreatetruecolor(500, 500);
imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));


imagefilledarc($im, 250, 250, 500, 500, -90, -80, 0xFF0000, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 400, 400, -80, -40, 0xFFFF00, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 150, 150, -40,  0,  0xFF00FF, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 450, 450,   0,  20, 0x00FFFF, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 350, 350,  20, 50,  0x1276A9, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 100, 100,  50, 95,  0x000000, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 400, 400,  95, 125, 0x1E1FFF, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 150, 150, 125, 160, 0x45ABAB, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 500, 500, 160, 180, 0xFFA7F1, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 300, 300, 180, 235, 0xA91234, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 240, 240, 235, 255, 0xA13ACE, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 300, 300, 255, 270, 0x00FF00, IMG_ARC_PIE);

header("Content-type: image/png");
imagepng($im);

制作这个:

图片不存在

This:

$im = imagecreatetruecolor(500, 500);
imagefill($im, 0, 0, imagecolorallocate($im, 255, 255, 255));


imagefilledarc($im, 250, 250, 500, 500, -90, -80, 0xFF0000, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 400, 400, -80, -40, 0xFFFF00, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 150, 150, -40,  0,  0xFF00FF, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 450, 450,   0,  20, 0x00FFFF, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 350, 350,  20, 50,  0x1276A9, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 100, 100,  50, 95,  0x000000, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 400, 400,  95, 125, 0x1E1FFF, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 150, 150, 125, 160, 0x45ABAB, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 500, 500, 160, 180, 0xFFA7F1, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 300, 300, 180, 235, 0xA91234, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 240, 240, 235, 255, 0xA13ACE, IMG_ARC_PIE);
imagefilledarc($im, 250, 250, 300, 300, 255, 270, 0x00FF00, IMG_ARC_PIE);

header("Content-type: image/png");
imagepng($im);

Makes this:

Image does not exist

岁吢 2024-09-23 12:58:12

您可能正在寻找 SVG 库。

raphael 也是一个不错的选择

your probably looking for an SVG library.

raphael is also a good choice

芸娘子的小脾气 2024-09-23 12:58:12

imagefilledarc 是你的朋友!< /强>

imagefilledarc is your friend!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文