So stellen Sie das Bild in PHP auf ein kreisförmiges Bild ein: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Erstellen Sie ein transparentes Bild. 2. Verarbeiten Sie das Bild mit der Methode „function yuan_img($imgpath) {...}“. Mach es einfach rund.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wie stelle ich das Bild in PHP auf ein kreisförmiges Bild ein?
PHP-Bildzirkularisierungsverarbeitung:
Die verwendeten PHP-GD-Bibliotheksfunktionen sind
imagecolorat imagesetpixel
Verarbeiten Sie das Bild zunächst in einen Kreis:
Das Originalbild sieht wie folgt aus:
Verarbeiten Wirkung nach dem Passieren:
Verwenden Sie die folgende Formel, um zu berechnen
(x-a)*(x-a)+(y-b)*(y-b)<r2
Die Festlegung der Formel bedeutet, dass der aktuelle x-, y-Punkt innerhalb des Kreises liegt
x, y sind die aktuellen Koordinaten
a, b sind Die Mittelpositionen des Kreises
r ist der Radius
Erstellen Sie zunächst ein transparentes Bild,
scannen Sie dann das Originalbild Zeile für Zeile, als ob sich die Pixel innerhalb des Kreises befinden würden, und zeichnen Sie die Pixel, die nicht vorhanden sind. Behalten Sie einfach die Transparenz bei Farbe
function yuan_img($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; }
Empfohlenes Lernen: „PHP-Video-Tutorial》
Das obige ist der detaillierte Inhalt vonSo stellen Sie das Bild in PHP auf ein kreisförmiges Bild ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!