使用 PHP 显示动态八边形

发布于 2024-10-30 18:51:59 字数 301 浏览 2 评论 0原文

你好 Stackoverflow 社区,

对于一个小游戏,我需要显示一个八边形(像这个< /a>)

形状会自行适应我从数据库中获取的某些值。我的问题是,我完全不知道如何开始它。我既不知道我的目的的公式,也不知道如何在 PHP 中绘制这样的形状。

总的来说,我比较擅长 PHP。因此,我很高兴了解解决方案的理论方法,而不一定是代码 =)

提前致谢

Hello Stackoverflow community,

for a little game I need to display an octagon (Like this one)

The shape adapts itself to certain values I get from the database. My Problem is, I have absolutely no idea how to launch into it. I neither know the formula for my purpose, nor I know how I could draw such a shape in PHP.

In general I'm relatively good at PHP. So I`d be happy about theoretical approaches to a solution and not necessarily code =)

Thanks in advance

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

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

发布评论

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

评论(3

泼猴你往哪里跑 2024-11-06 18:51:59

鞭打这个。它已经为您计算了坐标,但您可以轻松地在 $vertices 数组中指定您自己的坐标(并删除生成)。

<?php
$radius = 100;
$sides = 8;

$points = array();
for ($i = 1; $i <= $sides; $i++) {
    $points[] = round( $radius * cos($i*2 * pi() / $sides) + $radius );  // x
    $points[] = round( $radius * sin($i*2 * pi() / $sides) + $radius );  // y
}



// Draw the image.
$im = imagecreate($radius*2 + 10, $radius*2 + 10);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

imagefill($im, 0, 0, $white);  // White background

imagefilledpolygon($im, $points, $sides, $black);

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

Whipped this up. It calculates the coordinates for you already, but you can easily specify your own coordinates in the $vertices array (and remove the generation).

<?php
$radius = 100;
$sides = 8;

$points = array();
for ($i = 1; $i <= $sides; $i++) {
    $points[] = round( $radius * cos($i*2 * pi() / $sides) + $radius );  // x
    $points[] = round( $radius * sin($i*2 * pi() / $sides) + $radius );  // y
}



// Draw the image.
$im = imagecreate($radius*2 + 10, $radius*2 + 10);
$black = imagecolorallocate($im, 0, 0, 0);
$white = imagecolorallocate($im, 255, 255, 255);

imagefill($im, 0, 0, $white);  // White background

imagefilledpolygon($im, $points, $sides, $black);

header('Content-type: image/png');
imagepng($im);
顾冷 2024-11-06 18:51:59

我无法为您提供一个公式,但是一旦您找到了公式,您就可以使用 GD 扩展并绘制你的形状。

I can't give you a formula for this, but once you figured one out you can make use of the GD extension and draw your shape.

孤云独去闲 2024-11-06 18:51:59

Google Charts API 支持此功能,并且相当易于使用。
示例

Google Charts API Supports this, and is fairly easy to use.
Example

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