imagefilledarc

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

imagefilledarcРисование и заливка дуги

Описание

imagefilledarc(
    GdImage $image,
    int $center_x,
    int $center_y,
    int $width,
    int $height,
    int $start_angle,
    int $end_angle,
    int $color,
    int $style
): bool

Рисует дугу с центром в заданных координатах изображения image.

Список параметров

image

Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().

center_x

x-координата центра.

center_y

y-координата центра.

width

Ширина дуги.

height

Высота дуги.

start_angle

Угол начала дуги в градусах.

end_angle

Угол окончания дуги в градусах. 0° соответствует положению 3-часа. Дуга рисуется по часовой стрелке.

color

Идентификатор цвета, созданный функцией imagecolorallocate().

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, означает, что начало и конец дуги соединяются с центром - это хороший способ (лучше чем заливка) получить сектор (кусок пирога).

Возвращаемые значения

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Список изменений

Версия Описание
8.0.0 Параметр image теперь ожидает экземпляр класса GdImage; раньше параметр ждал корректный gd-ресурс (resource).

Примеры

Пример #1 Создание трёхмерного пирога

<?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);

// делаем эффект 3Д
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);
?>

Вывод приведённого примера будет похож на:

Вывод примера : Создание трёхмерного пирога