Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk melukis poligon, lengkok dan elips dalam PHP? (Penjelasan terperinci dengan gambar dan teks)
Dalam artikel sebelumnya, saya membawakan anda " Analisis terperinci tentang cara mentakrifkan warna, melukis mata, garisan dan segi empat tepat dalam PHP? 》, yang bercakap tentang pengetahuan yang berkaitan tentang titik lukisan, garisan dan segi empat tepat dalam PHP Dalam artikel ini, mari kita lihat cara melukis grafik lain. Semoga ia membantu semua orang!
Selepas artikel sebelum ini, saya telah pun memahami asas lukisan grafik dengan PHP, termasuk cara melukis segiempat tepat, maka segi tiga dan pentagon Bagaimana patutkah ia dilukis? Jadi mari kita lihat cara melukis poligon dalam PHP.
Melukis poligon
agak serupa dengan melukis segi empat tepat Terdapat dua fungsi untuk melukis poligon, iaitu fungsi imagepolygon()
dan fungsi imagefilledpolygon()
, format sintaksnya adalah seperti berikut:
imagepolygon(resource $image, array $points, int $num_points, int $color) imagefilledpolygon(resource $image, array $points, int $num_points, int $color)
Sebab mengapa kedua-dua fungsi itu serupa dengan segi empat tepat adalah kerana warna di belakang fungsi imagepolygon() ialah warna tepi poligon , imagefilledpolygon( )Warna selepas fungsi ialah warna yang digunakan untuk mengisi bahagian dalam poligon yang dilukis.
Dalam sintaks, $imej mewakili kanvas $points ialah tatasusunan $num_points digunakan untuk menetapkan bilangan bucu poligon, yang mesti lebih daripada 3.
Contoh adalah seperti berikut:
<?php $img = imagecreate(300, 150); imagecolorallocate($img, 255, 255, 255); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); $points1 = array( 255,35, 250,15, 295,56, 233,115, 185,77 ); $points2 = array( 10,5, 100,15, 140,66, 70,135, 25,77 ); imagepolygon($img, $points1, rand(3, 5), $blue); imagefilledpolygon($img, $points2, rand(3, 5), $green); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
Hasil keluaran:
Lukis elips
Dalam PHP, anda boleh menggunakan fungsi imageellipse()
untuk melukis elips, sama seperti melukis poligon, anda juga boleh menggunakan fungsi imagefilledellipse()
untuk melukis elips dan mengisinya. Format sintaksnya adalah seperti berikut:
imageellipse(resource $image, int $x, int $y, int $width, int $height, int $color) imagefilledellipse(resource $image, int $x, int $y, int $width, int $height, int $color)
Antaranya, $x dan $y masing-masing mewakili koordinat mendatar dan menegak pusat elips $width dan $height mewakili lebar dan tinggi elips masing-masing, dan $colorb berikut masing-masing mewakili warna tepi dan ketinggian elips.
Contohnya adalah seperti berikut:
<?php $img = imagecreate(300, 150); imagecolorallocate($img, 255, 255, 255); $green = imagecolorallocate($img, 0, 255, 0); $blue = imagecolorallocate($img, 0, 0, 255); imagefilledellipse($img, 75, 75, 120, 80, $green); imageellipse($img, 225, 75, 90, 120,$blue); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
Hasil keluaran:
Lukis arka
Dalam PHP, anda boleh menggunakan fungsi imagearc()
dan fungsi imagefilledarc()
untuk melukis lengkok atau bulatan. Perbezaannya ialah fungsi imagearc() melukis arc. Warna ialah warna tepi, dan arka yang dilukis oleh fungsi imagefilledarc() akan diisi. Format sintaksnya adalah seperti berikut:
imagearc(resource $image, int $x, int $y, int $width, int $height, int $start, int $end, int $color) imagefilledarc(resource $image, int $x, int $y, int $width, int $height, int $start, int $end, int $color, int $style)
di mana $x dan $y masing-masing mewakili koordinat mendatar dan menegak bagi titik pusat lengkok $width dan $height masing-masing mewakili lebar dan tinggi lengkok; $mula dan $akhir masing-masing mewakili sudut titik permulaan dan sudut titik akhir lengkok.
Apa yang perlu kita ambil perhatian ialah fungsi imagefilledarc() mempunyai satu lagi parameter $style daripada fungsi imagearc() Parameter ini digunakan untuk menetapkan jenis isian warna. Ia mempunyai jenis berikut:
IMG_ARC_PIE
: pelapik biasa, menghasilkan sempadan bulat; sambung Titik permulaan dan titik akhir Perlu diingatkan bahawa ia adalah saling eksklusif dengan IMG_ARC_PIE; ;
IMG_ARC_CHORD
: Sambungkan titik mula dan tamat ke titik tengah dengan garis lurus.
Contohnya adalah seperti berikut: IMG_ARC_NOFILL
IMG_ARC_EDGED
Pembelajaran yang disyorkan :《
Tutorial video PHP
<?php $img = imagecreate(300, 100); imagecolorallocate($img, 255, 255, 255); $blue = imagecolorallocate($img, 0, 0, 255); imagearc($img, 100, 50, 50, 80, 0, 270, $blue); imagefilledarc($img, 200, 55, 80, 30, 130, 100, $blue, IMG_ARC_EDGED|IMG_ARC_NOFILL); header('Content-type:image/jpeg'); imagejpeg($img); imagedestroy($img); ?>
Atas ialah kandungan terperinci Bagaimana untuk melukis poligon, lengkok dan elips dalam PHP? (Penjelasan terperinci dengan gambar dan teks). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!