Cara untuk menetapkan imej kepada imej bulat dalam PHP: 1. Buat fail sampel PHP; 2. Buat imej lutsinar; kaedahnya ialah memproses imej menjadi bulatan.
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3
Cara untuk set gambar dalam php Untuk gambar bulat?
pemprosesan pembundaran imej php:
Fungsi perpustakaan php gd yang digunakan ialah
imagecolorat imagesetpixel
Pertama sekali Proses imej ke dalam bulatan:
Imej asal adalah seperti berikut:
Hasil selepas pemprosesan:
Gunakan formula berikut untuk mengira
(x-a)*(x-a)+(y-b)*(y-b)<r2
Penubuhan formula bermakna titik x, y semasa berada dalam bulatan
x, y ialah koordinat semasa
a,b ialah kedudukan tengah bulatan
r ialah jejari
Mula-mula buat gambar lutsinar,
dan kemudian imbas imej asal baris demi baris seperti yang ditunjukkan dalam piksel Hanya lukis piksel di dalam bulatan dan pastikan ia telus jika tiada
function yuan_img($imgpath) { $ext = pathinfo($imgpath); $src_img = null; switch ($ext['extension']) { case 'jpg': $src_img = imagecreatefromjpeg($imgpath); break; case 'png': $src_img = imagecreatefrompng($imgpath); break; } $wh = getimagesize($imgpath); $w = $wh[0]; $h = $wh[1]; $w = min($w, $h); $h = $w; $img = imagecreatetruecolor($w, $h); //这一句一定要有 imagesavealpha($img, true); //拾取一个完全透明的颜色,最后一个参数127为全透明 $bg = imagecolorallocatealpha($img, 255, 255, 255, 127); imagefill($img, 0, 0, $bg); $r = $w / 2; //圆半径 $y_x = $r; //圆心X坐标 $y_y = $r; //圆心Y坐标 for ($x = 0; $x < $w; $x++) { for ($y = 0; $y < $h; $y++) { $rgbColor = imagecolorat($src_img, $x, $y); if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r)) < ($r * $r))) { imagesetpixel($img, $x, $y, $rgbColor); } } } return $img; }
Cadangan yang disyorkan: "Tutorial Video PHP "
Atas ialah kandungan terperinci Bagaimana untuk menetapkan gambar kepada gambar bulat dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!