отображение динамического восьмиугольника с использованием PHP - PullRequest
1 голос
/ 08 апреля 2011

Привет сообщество Stackoverflow,

для маленькой игры мне нужно отобразить восьмиугольник ( Как этот )

Форма адаптируется к определенным значениям, которые я получаю избаза данных.Моя проблема в том, что я понятия не имею, как начать.Я не знаю формулу для своих целей и не знаю, как я могу нарисовать такую ​​форму в PHP.

В целом я относительно хорош в PHP.Так что я был бы рад теоретическим подходам к решению и не обязательно коду =)

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 08 апреля 2011

Взбил это. Он уже рассчитывает координаты для вас, но вы можете легко указать свои собственные координаты в массиве $ 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);
1 голос
/ 08 апреля 2011

Я не могу дать вам формулу для этого, но как только вы ее выясните, вы можете использовать расширение GD и нарисовать свою форму.

0 голосов
/ 08 апреля 2011

Google Charts API Поддерживает это и довольно прост в использовании. Пример

...