Heim > Artikel > Backend-Entwicklung > So verwenden Sie die GD-Bibliothek in PHP, um ein quadratisches Bild in ein kreisförmiges Bild umzuwandeln (Code)
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['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; }
Verwandte Empfehlungen:
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!