Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách vẽ và tô màu cung tròn một phần bằng hàm imagefilledarc() trong PHP

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ả

Cách vẽ và tô màu cung tròn một phần bằng hàm imagefilledarc() trong PHP

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ả

Cách vẽ và tô màu cung tròn một phần bằng hàm imagefilledarc() trong PHP