91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何將圖片設置為圓形圖片

發布時間:2021-11-04 10:30:52 來源:億速云 閱讀:396 作者:iii 欄目:編程語言

這篇文章主要講解了“php如何將圖片設置為圓形圖片”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php如何將圖片設置為圓形圖片”吧!

php將圖片設置為圓形圖片的方法:1、創建一個PHP示例文件;2、創建一張透明的圖片;2、通過“function yuan_img($imgpath) {...}”方法把圖片處理成圓形即可。

php如何將圖片設置為圓形圖片

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

php怎么將圖片設置為圓形圖片?

php 圖片圓形化處理:

用到的php gd庫函數有

imagecolorat
imagesetpixel

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

原圖如下:

php如何將圖片設置為圓形圖片

處理過之后效果:

php如何將圖片設置為圓形圖片

用以下公式計算

(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['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;
    }

感謝各位的閱讀,以上就是“php如何將圖片設置為圓形圖片”的內容了,經過本文的學習后,相信大家對php如何將圖片設置為圓形圖片這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

苏尼特左旗| 合肥市| 古蔺县| 仁化县| 腾冲县| 朝阳县| 益阳市| 惠来县| 肃宁县| 鄂尔多斯市| 七台河市| 中江县| 济源市| 玉林市| 全南县| 望谟县| 化隆| 延长县| 镇安县| 阿拉尔市| 安泽县| 汕头市| 甘德县| 沁源县| 池州市| 宁远县| 平南县| 鄱阳县| 岢岚县| 永登县| 承德市| 宁安市| 昭觉县| 肇州县| 桐梓县| 新野县| 娄烦县| 通道| 怀来县| 巴楚县| 八宿县|