imagefilledarc() là hàm tích hợp sẵn trong PHP dùng để vẽ một cung tròn một phần và tô màu cho nó.
Cú pháp
bool imagefilledarc($image, $cx, $cy, $width, $height, $start, $end, $color, $style)
Tham số
Hàm imagefilledarc() nhận chín tham số: $image, $cx, $cy, $width, $height, $start, $end, $color, $style.
$image - Trả về bởi hàm tạo hình ảnh imagecreatetruecolor(). Dùng để tạo kích thước hình ảnh.
$cx - Tọa độ x của tâm.
$cy - Tọa độ y của tâm.
$width - Chiều rộng cung tròn.
$height - Chiều cao cung tròn.
$start - Góc bắt đầu tính bằng độ.
$end - Góc kết thúc cung tròn, tính bằng độ. 0 độ ở vị trí 3 giờ, vẽ theo chiều kim đồng hồ.
$color - Mã định danh màu, tạo bằng imagecolorallocate().
$style - Chỉ định cách tô màu, giá trị có thể là:
IMG_ARC_PIE
IMG_ARC_CHORD
IMG_ARC_NOFILL
IMG_ARC_EDGED
Cả IMG_ARC_PIE và IMG_ARC_CHORD là loại trừ lẫn nhau.
IMG_ARC_CHORD nối đường thẳng từ góc bắt đầu đến góc kết thúc, trong khi IMG_ARC_PIE tạo cạnh bo tròn.
IMG_ARC_NOFILL chỉ vẽ viền cung hoặc dây cung, không tô màu.
IMG_ARC_EDGED dùng cùng với IMG_ARC_NOFILL, nối góc bắt đầu và kết thúc về tâm.
Giá trị trả về
Trả về True khi thành công, False khi thất bại.
Ví dụ 1
<?php
define("WIDTH", 700);
define("HEIGHT", 550);
// Tạo hình ảnh
$image = imagecreate(WIDTH, HEIGHT);
// Cấp phát màu
$bg = $white = imagecolorallocate($image, 0x00, 0x00, 0x80);
$gray = imagecolorallocate($image, 122, 122, 122);
// Vẽ cung tròn hình bánh
$center_x = (int)WIDTH/2;
$center_y = (int)HEIGHT/2;
imagerectangle($image, 0, 0, WIDTH-2, HEIGHT-2, $gray);
imagefilledarc($image, $center_x, $center_y, WIDTH/2, HEIGHT/2, 0, 220, $gray, IMG_ARC_PIE);
// Xuất hình ảnh
header("Content-Type: image/gif");
imagepng($image);
?>
Kết quả

Ví dụ 2
<?php
// Tạo hình ảnh bằng imagecreatetruecolor
$image = imagecreatetruecolor(700, 300);
// Cấp phát màu darkgray và darkred
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);
// Tạo hiệu ứng 3D
for ($i = 60; $i > 50; $i--) {
imagefilledarc($image, 100, $i, 200, 100, 75, 360, $darkred, IMG_ARC_PIE);
}
imagefilledarc($image, 100, $i, 200, 100, 45, 75, $darkgray, IMG_ARC_PIE);
// Xuất hình ảnh
header('Content-type: image/gif');
imagepng($image);
imagedestroy($image);
?>
Kết quả
