>  기사  >  백엔드 개발  >  PHP에서 GD 라이브러리를 사용하여 정사각형 그림을 원형 그림으로 바꾸는 방법(코드)

PHP에서 GD 라이브러리를 사용하여 정사각형 그림을 원형 그림으로 바꾸는 방법(코드)

不言
不言원래의
2018-08-20 15:48:434758검색

이 기사의 내용은 GD 라이브러리를 사용하여 PHP를 사용하여 정사각형 이미지를 원형 이미지로 바꾸는 방법(코드)에 대한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. 당신에게.

WeChat 아바타를 받으면 정사각형 모양으로 보이지만 실제로는 주로 원을 사용합니다.

아래에서는 PHP 네이티브 GD 라이브러리를 사용하여 이미지를 캡처하고 모서리를 둥글게 자르는 방법을 소개하겠습니다. 실제로 코드가 매우 간단하므로 코드만 업로드하겠습니다.

<?php
    $path = "";//文件绝对路径
    $this->yuanjio($path);
     /*
     * 将图片切成圆角
     */
    public function yuanjiao($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에서 GD 라이브러리를 사용하여 생성됨 원형 원형 차트의 예, gd Circle

GD2 그래픽 라이브러리를 기반으로 하는 PHP 생성 이미지 썸네일 코드 공유,

위 내용은 PHP에서 GD 라이브러리를 사용하여 정사각형 그림을 원형 그림으로 바꾸는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.