(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
imagefilledarc — Рисует и заливает дугу
$image
,$center_x
,$center_y
,$width
,$height
,$start_angle
,$end_angle
,$color
,$style
Функция рисует дугу с центром в заданных координатах изображения
image
.
image
Объект GdImage, который возвращает одна из функций, создающих изображения, например, imagecreatetruecolor().
center_x
x-координата центра.
center_y
y-координата центра.
width
Ширина дуги.
height
Высота дуги.
start_angle
Угол начала дуги в градусах.
end_angle
Угол окончания дуги в градусах. 0° соответствует положению 3-часа. Дуга рисуется по часовой стрелке.
color
Идентификатор цвета, созданный функцией imagecolorallocate().
style
Комбинация констант через побитовое ИЛИ:
Стили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);
?>
Вывод приведённого примера будет похож на: