PHP マニュアル
前のページ |  | 次のページ

# imagefilledarc

(PHP 4 >= 4.0.6, PHP 5)

imagefilledarc -- 部分楕円を描画し、塗りつぶす

## 説明

bool imagefilledarc ( resource image, int cx, int cy, int w, int h, int s, int e, int color, int style )

imagefilledarc() は、 image で表したイメージに cx,cy (左上が0,0) を中心とした部分楕円を描画します。 成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。 W と h はそれぞれ楕円の幅と高さを指定します。 また、開始点と終点は、引数 s および e で度単位で指定されます。 style は次の選択肢のビット和です。

1. IMG_ARC_PIE

2. IMG_ARC_CHORD

3. IMG_ARC_NOFILL

4. IMG_ARC_EDGED

IMG_ARC_PIE および IMG_ARC_CHORD は相反します。IMG_ARC_CHORD は、 開始角と終了角を直線で結ぶだけですが、IMG_ARC_PIE は、角を丸めます。 IMG_ARC_NOFILL は、弧と弦が縁どられ塗りつぶされないことを指定します。 IMG_ARC_EDGED は、IMG_ARC_NOFILL と共に指定することにより、 開始角と終端角は中心と結ばれます。これは、(塗りつぶすよりも) 「パイの切れ端」を縁どる良い方法です。

例 1. 3D 風のパイを作成する

`<?php
// 画像を作成する
$image = imagecreatetruecolor(100, 100);
// 色を割り当てる
$white = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);
// 3D 効果を作成する
for ($i = 60; $i > 50; $i--) {
imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}
imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);
// 画像を出力する
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
?>`

> 注意: この関数は、GD 2.0.1 以降を必要とします。

前のページ | ホーム | 次のページ
imagefill | 上に戻る | imagefilledellipse