Bagaimana untuk menetapkan gambar kepada gambar bulat dalam php

藏色散人
Lepaskan: 2023-03-13 17:48:01
asal
2990 orang telah melayarinya

Cara untuk menetapkan imej kepada imej bulat dalam PHP: 1. Buat fail sampel PHP; 2. Buat imej lutsinar; kaedahnya ialah memproses imej menjadi bulatan.

Bagaimana untuk menetapkan gambar kepada gambar bulat dalam php

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
Salin selepas log masuk

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
Salin selepas log masuk

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[&#39;extension&#39;]) {
        case &#39;jpg&#39;:
            $src_img = imagecreatefromjpeg($imgpath);
            break;
        case &#39;png&#39;:
            $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;
    }
Salin selepas log masuk

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan