Chương trình php để vẽ các hình dạng hình học

PHP TestmoveTo[$initx, $inity]; . [“. $this->getX[]. ",". $this->getY[]. "], bề rộng ". $this->getWidth[]. ", Chiều cao ". $this->getHeight[]. "
"; } } class Circle extends Shape { var $radius; // hàm tạo Circle[$initx, $inity, $initradius] { $this->Shape[$initx, $inity]; $this- . [“. $this->getX[]. ",". $this->getY[]. "], bán kính ". $this->getRadius[]. "
";

Trong một bài viết trước về GD, tôi đã giới thiệu về thư viện và đề xuất một số ứng dụng thực tế có thể. Trong hướng dẫn này, tôi sẽ cung cấp một số ví dụ cơ bản về những gì có thể đạt được với GD. Tôi sẽ bắt đầu bằng cách thảo luận cách xác định màu trong GD, sau đó cung cấp một số ví dụ về việc sử dụng các màu này với một số chức năng vẽ hình của GD

Để sử dụng các ví dụ trong hướng dẫn này, bạn sẽ cần phải có một máy chủ web hỗ trợ PHP có hỗ trợ GD đi kèm. Vui lòng tham khảo hướng dẫn chi tiết của tôi về Xây dựng máy chủ web PHP 5 trên Windows IIS, bao gồm phần thảo luận về cách thiết lập GD trên một máy chủ như vậy

Xác định màu sắc trong GD

Để xác định màu trong GD, chúng ta cần sử dụng hàm ImageCreatTrueColor[] [lưu ý rằng tên hàm không phân biệt chữ hoa chữ thường đối với GD, giống như bất kỳ hàm PHP nào khác]. Chúng ta cần cung cấp cho hàm này một con trỏ tham chiếu đến hình ảnh mà chúng ta muốn sử dụng màu này [i. e. hình ảnh hiện tại chúng tôi đang làm việc trên]. Chúng ta cũng cần cung cấp hàm với các giá trị RGB [Red Green Blue] cho màu mới. nhớ các giá trị RGB cho từng dải màu từ 0-255, vì vậy [255,255,255] là màu trắng và [0,0,0] là màu đen, với hàng triệu màu ở giữa

Trong ví dụ bên dưới, chúng tôi sẽ tạo một hình ảnh mới, đặt màu nền của nó thành màu đỏ và xuất đồ họa này ra trình duyệt dưới dạng hình ảnh PNG

Xem ví dụ 1

Có một số điểm quan trọng để thực hiện về mã này. Thứ nhất, cần có chức năng tiêu đề PHP để đặt loại tiêu đề HTTP chính xác cho đầu ra của tập lệnh này, để trình duyệt web sẽ xử lý đầu ra dưới dạng tệp hình ảnh, trong trường hợp này là đồ họa PNG. Như bạn có thể thấy từ minh họa này, mặc dù tệp là một. php, trình duyệt vẫn coi nó như thể nó là một. png

Con trỏ tới tài nguyên hình ảnh $im phải luôn bị hủy bằng chức năng ImageDestroy, để ngăn hình ảnh còn lại trong bộ nhớ của máy chủ web sau khi tập lệnh kết thúc, điều này sẽ sử dụng hết các tài nguyên có giá trị

Bây giờ chúng ta đã biết cách thiết lập hình ảnh GD, chúng ta sẽ khám phá một số chức năng thú vị hơn của thư viện để vẽ các hình dạng và đa giác nguyên thủy

vẽ đường

Xem ví dụ 2

Trong ví dụ 2 ở trên, chúng tôi giới thiệu ba hàm mới được đánh dấu màu đỏ. Hàm ImageAntiAlias ​​được sử dụng để bật tính năng khử răng cưa trong đồ họa mà GD tạo ra, miễn là nó được hỗ trợ. Nếu bạn có kiến ​​thức về thiết kế đồ họa, thì rất có thể bạn biết antializing là gì, nhưng nếu không, đừng lo lắng về các chi tiết kỹ thuật về cách thức hoạt động của nó. nó chỉ đơn giản là làm cho đồ họa của bạn trông sắc nét hơn và làm mịn các cạnh lởm chởm trong hình học, do đó tôi khuyên bạn nên sử dụng khử răng cưa nếu nó có sẵn trên máy chủ của bạn

Hàm ImageLine được sử dụng để vẽ một dòng mới trong hình ảnh. Ngoài việc yêu cầu tài nguyên hình ảnh và màu sắc trong danh sách tham số của nó, nó còn yêu cầu tọa độ của điểm đầu và điểm cuối của dòng theo thứ tự sau. bắt đầu x, bắt đầu y, kết thúc x, kết thúc y. ImageDashedLine hoạt động theo cách tương tự, ngoại trừ cái tên ngụ ý rằng nó vẽ một đường đứt nét

Vẽ hình chữ nhật

Xem ví dụ 3

Trong ví dụ trên, tôi sử dụng hai hàm hình chữ nhật. ImageRectangle vẽ một hình chữ nhật trống bằng màu đã chỉ định; . Đối với cả hai chức năng, các tham số giống hệt nhau. ImageRectangle[hình ảnh, bắt đầu x, bắt đầu y, kết thúc x, kết thúc y, màu sắc]

Trong đoạn mã trên, tôi đã chỉ định chiều rộng và chiều cao của hình chữ nhật trong các biến

$r_width = 150;
$r_height = 100;
$r_x = 100;
$r_y = 50;

Giá trị x cuối cùng là giá trị x bắt đầu cộng với chiều rộng mong muốn của hình chữ nhật, i. e. $r_x+$r_width và chiều cao mong muốn đạt được theo cách tương tự. Điều này cho phép chúng ta nghĩ đến việc vẽ một hình chữ nhật theo x, y, chiều rộng, chiều cao, v.v. , theo cách tương tự như cách hình chữ nhật SVG được xử lý

Hình tròn và hình elip

Xem ví dụ 4

Để vẽ hình tròn hoặc hình elip ta sử dụng hàm ImageEllipse tương tự. Các tham số được cung cấp cho chức năng này là. tài nguyên hình ảnh, trung tâm x, trung tâm y, chiều rộng, chiều cao, màu sắc. Như bạn có thể thấy từ ví dụ trên, tất cả những gì bạn cần làm để vẽ hình tròn thay vì hình elip là đặt chiều rộng và chiều cao thành cùng một giá trị

ví dụ đa giác

Chủ Đề