Computer >> Máy Tính >  >> Lập trình >> PHP

Làm thế nào để vẽ một cung tròn một phần và lấp đầy nó bằng cách sử dụng hàm imagefilledarc () trong PHP?

imagefilledarc () là một hàm có sẵn trong PHP được sử dụng để vẽ một phần cung tròn và lấp đầy nó.

Cú pháp

bool imagefilledarc($image, $cx, $cy, $width, $height, $start, $end, $color, $style)

Tham số

imagefilledarc () có chín tham số:$ image, $ cx, $ cy, $ width, $ height, $ start, $ end, $ color và $ style.

  • $ hình ảnh - Nó được trả về bởi hàm tạo ảnh imageecreatetruecolor (). Chức năng này được sử dụng để tạo kích thước của hình ảnh.

  • $ cx - Đặt tọa độ x của tâm.

  • $ cy - Đặt tọa độ y của trung tâm.

  • $ width - Đặt chiều rộng cung tròn.

  • $ height - Đặt chiều cao vòng cung.

  • $ start - Góc bắt đầu tính bằng độ.

  • $ end - Góc cuối hồ quang, tính bằng độ. 00 nằm ở vị trí ba giờ và vòng cung được vẽ theo chiều kim đồng hồ.

  • $ màu - Nó là một mã nhận dạng màu sắc được tạo bằng hàm imageecolorallocate ().

  • $ style - Đề xuất cách điền vào hình ảnh và các giá trị của nó có thể là bất kỳ ai trong danh sách sau -

    • IMG_ARC_PIE

    • IMG_ARC_CHORD

    • IMG_ARC_NOFILL

    • IMG_ARC_EDGED

Cả IMG_ARC_PIE IMG_ARC_CHORD loại trừ lẫn nhau.

IMG_ARC_CHORD nối một đường thẳng từ góc bắt đầu và góc kết thúc, trong khi IMG_ARC_PIE tạo ra một cạnh tròn.

IMG_ARC_NOFILL chỉ ra rằng cung hoặc hợp âm phải được phác thảo, không được điền.

IMG_ARC_EDGED được sử dụng cùng với IMG_ARC_NOFILL , chỉ ra rằng góc bắt đầu và góc kết thúc phải được kết nối với tâm.

Giá trị trả lại

Nó trả về Đúng khi thành công và Sai khi thất bại.

Ví dụ 1

<?php
   define("WIDTH", 700);
   define("HEIGHT", 550);

   // Create the image.
   $image = imagecreate(WIDTH, HEIGHT);

   // Allocate colors.
   $bg = $white = imagecolorallocate($image, 0x00, 0x00, 0x80);
   $gray = imagecolorallocate($image, 122, 122, 122);

   // make pie arc.
   $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);

   // Flush image.
   header("Content-Type: image/gif");
   imagepng($image);
?>

Đầu ra

Làm thế nào để vẽ một cung tròn một phần và lấp đầy nó bằng cách sử dụng hàm imagefilledarc () trong PHP?

Ví dụ 2

<?php
   // Created the image using imagecreatetruecolor function.
   $image = imagecreatetruecolor(700, 300);
   
   // Allocated the darkgray and darkred colors
   $darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
   $darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);

   // Make the 3D effect
   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);

   // flush image
   header('Content-type: image/gif');
   imagepng($image);
   imagedestroy($image);
?>

Đầu ra

Làm thế nào để vẽ một cung tròn một phần và lấp đầy nó bằng cách sử dụng hàm imagefilledarc () trong PHP?