Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menetapkan gambar kepada gambar bulat dalam php

Bagaimana untuk menetapkan gambar kepada gambar bulat dalam php

藏色散人
藏色散人asal
2021-11-04 10:28:523049semak imbas

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

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[&#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;
    }

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!

Kenyataan:
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