php處理生成圓形圖

/**
 * 處理圓形圖
 * @param $image 圖片地址
 * @return string
 */
function round_image($image)
{
    $logo = imagecreatefromstring(file_get_contents($image));//源圖象連接資源。
    $height = $width = min(imagesx($logo), imagesy($logo));
    //創建一個和二維碼圖片一樣大小的真彩色畫布
    $canvas = imagecreatetruecolor(imagesx($logo), imagesy($logo));
    $color = imagecolorallocatealpha($canvas, 255, 255, 255, 127);
    imagesavealpha($canvas, true);
    imagefill($canvas, 0, 0, $color);
    imageColorTransparent($canvas, $color);
    $r = $width / 2;   //半徑
    for ($x = 0; $x < $width; $x++) {
        for ($y = 0; $y < $height; $y++) {
            $rgb_color = imagecolorat($logo, $x, $y);
            if (((($x - $r) * ($x - $r) + ($y - $r) * ($y - $r) < ($r * $r)))) {
                imagesetpixel($canvas, $x, $y, $rgb_color);
            }
        }
    }
    ob_start();
    imagepng($canvas);
    $content = ob_get_contents();
    ob_end_clean();
    return $content;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章