PHPで描画するときの座標

PHPで長方形を描くときは、塗りつぶす場合は「imagefilledrectangle」、塗りつぶさない場合は「imagerectangle」を使います。

imagefilledrectangle ( $image , $x1 , $y1 , $x2 , $y2 , $color )

座標はピクセル単位です。
「$x1 , $y1」で左上の座標を指定します。
「$x2 , $y2」で右下の座標を指定します。長さではありません。

imagefilledrectangle ( $image , 2 , 3 , 5 , 7 , $color )

とした場合は次のように描画されます。

注意する点は左端、上端は「0」であることです。

もし「左上の座標を(2,3)として幅3、高さ4の長方形を描く」とします。
このとき次のように書くと失敗します。

imagefilledrectangle ( $image , 2 , 3 , 2 + 3 , 3 + 4 , $color )

この書き方だと「幅4、高さ5」になってしまいます。上の図のとおりです。
つまり幅と高さを使う場合はマイナス1をする必要があります。

コメント

  1. […] PHPで描画するときの座標 […]

タイトルとURLをコピーしました