Maison > développement back-end > tutoriel php > Comment utiliser la bibliothèque GD en php pour transformer une image carrée en image circulaire (code)

Comment utiliser la bibliothèque GD en php pour transformer une image carrée en image circulaire (code)

不言
Libérer: 2023-04-03 20:20:02
original
4777 Les gens l'ont consulté

Ce que cet article vous apporte concerne la méthode (code) d'utilisation de PHP pour convertir une image carrée en image circulaire à l'aide de la bibliothèque GD. Il a une certaine valeur de référence. J'espère que les amis dans le besoin pourront s'y référer. vous sera utile.

Lorsque nous obtiendrons l'avatar WeChat, nous constaterons qu'il est carré lorsque nous le saisirons, mais en réalité, nous utilisons généralement des cercles.

Ci-dessous, je présenterai l'utilisation de la bibliothèque GD native PHP pour capturer l'image et la découper en coins arrondis. En fait, le code est très simple, je vais donc simplement télécharger le code. >

Recommandations associées :
<?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;
    }
Copier après la connexion

Un exemple d'utilisation de la bibliothèque GD pour créer un diagramme circulaire en PHP, gd circle


PHP basé sur la bibliothèque graphique GD2 génère des vignettes d'images Partage de code Sketch,

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal