ある座標から角度を指定して線を引くサンプルです。
線の長さを同じにして角度をすこしずつ変えていくと円のようになります。
時計の針のようなものをイメージするとわかりやすいと思います。
サンプルとして中心から 80 ピクセルの線を 45 度で描画してみます。
<?php
//線分の長さ
$r = 80;
//角度
$angle = 45;
//キャンバスサイズ
$width = 200;
$height = 200;
//キャンバスの中心を原点とする
$origin = array( round($width / 2), round($height / 2) );
$image = imagecreatetruecolor($width, $height);
//線の色
$color = imagecolorallocate( $image, 255, 255, 255 );
list($x, $y) = point_rotate($r, $angle);
imageline($image, $origin[0], $origin[1], $origin[0] + $x, $origin[1] + $y, $color);
header('Content-Type: image/jpeg');
imagejpeg($image);
imagedestroy($image);
function point_rotate($r, $angle){
$angle = deg2rad($angle);
$x = round($r * cos($angle));
$y = round($r * sin($angle));
return array($x, $y);
}
0 度の時は水平線で、角度が増えるごとに時計回りに回転します。
時計のように 12 時から始める場合は 90 度引いて計算します。
Similar Posts:
- [PHP]レーダーチャート(クモの巣グラフ)をGDで描画する
- [PHP]3次スプライン曲線を使ったスプライン補間
- [HTML5+JS+Canvas, PHP]アナログ時計の作り方
- [PHP]GDを使った棒グラフの描画
- [PHP]GDで折れ線グラフを描画する(改訂版)
- [PHP]複数の画像をランダムに敷き詰めて一枚の画像に合成
- [PHP]円グラフを表示する(GD)
- [PHP]画像を上下反転、左右反転する(垂直・水平方向の鏡像)

