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

// Делаем 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);

?>

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

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