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
): true

Функция рисует дугу с центром в заданных координатах изображения 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.

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

Версия Описание
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);


// Устанавливаем заголовок с MIME-типом изображения и выводим результат
header('Content-type: image/png');
imagepng($image);

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

Вывод примера: Трёхмерный пирог