首頁 > 後端開發 > PHP問題 > php怎麼將圖片設定為圓形圖片

php怎麼將圖片設定為圓形圖片

藏色散人
發布: 2023-03-13 17:48:01
原創
3020 人瀏覽過

php將圖片設定為圓形圖片的方法:1、建立一個PHP範例檔案;2、建立一張透明的圖片;2、透過“function yuan_img($imgpath) {...}”方法把圖片處理成圓形即可。

php怎麼將圖片設定為圓形圖片

本文操作環境:windows7系統、PHP7.1版、DELL G3電腦

php怎麼將圖片設定為圓形圖片?

php 圖片圓化處理:

用到的php gd函式庫函數有

imagecolorat
imagesetpixel
登入後複製

首先是把圖片處理成圓形的:

原圖如下:


已處理後效果:

#用下列公式計算

(x-a)*(x-a)+(y-b)*(y-b)<r2
登入後複製

公式成立說明目前x,y點在圓內

x,y為目前的座標

a, b為圓的圓心位置

r為半徑先創建一張透明的圖片,

###然後一行一行的掃描原圖如圖像素點在圓內就畫出這個像素不在的就保持透明色就可以###
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;
    }
登入後複製
###推薦學習:《###PHP影片教學###》###

以上是php怎麼將圖片設定為圓形圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板