您好,登錄后才能下訂單哦!
這篇文章主要講解了“php如何將圖片設置為圓形圖片”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“php如何將圖片設置為圓形圖片”吧!
php將圖片設置為圓形圖片的方法:1、創建一個PHP示例文件;2、創建一張透明的圖片;2、通過“function yuan_img($imgpath) {...}”方法把圖片處理成圓形即可。
本文操作環境: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['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如何將圖片設置為圓形圖片這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。