Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie die GD-Bibliothek in PHP, um ein quadratisches Bild in ein kreisförmiges Bild umzuwandeln (Code)

So verwenden Sie die GD-Bibliothek in PHP, um ein quadratisches Bild in ein kreisförmiges Bild umzuwandeln (Code)

不言
不言Original
2018-08-20 15:48:434804Durchsuche

In diesem Artikel geht es um die Methode (den Code) zur Konvertierung eines quadratischen Bildes in ein kreisförmiges Bild mithilfe der GD-Bibliothek. Ich hoffe, dass es für Freunde in Not eine Referenz darstellt wird dir weiterhelfen.

Wenn wir den WeChat-Avatar erhalten, werden wir feststellen, dass er quadratisch ist, aber in Wirklichkeit verwenden wir normalerweise Kreise.

Im Folgenden werde ich die Verwendung der nativen PHP-GD-Bibliothek vorstellen, um das Bild zu erfassen und in abgerundete Ecken zu schneiden. Tatsächlich ist der Code sehr einfach, daher werde ich einfach den Code hochladen

<?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;
    }

Verwandte Empfehlungen:

Ein Beispiel für die Verwendung der GD-Bibliothek zum Erstellen eines kreisförmigen Kreisdiagramms in PHP, GD-Kreis

PHP generiert eine Miniaturbildklasse für Bilder basierend auf der Codefreigabe der GD2-Grafikbibliothek,

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die GD-Bibliothek in PHP, um ein quadratisches Bild in ein kreisförmiges Bild umzuwandeln (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn