Heim >Backend-Entwicklung >PHP-Tutorial >Wie man einen Teil eines Bildes mit PHP mosaikiert
PHP-Bild-Teilmosaik
Prinzip:
Ja für Erhöhen Sie für jedes Pixel des ausgewählten Bereichs im Bild die Breite und Höhe, um ein Rechteck zu erstellen. Die Rechtecke jedes Pixels überlappen sich und bilden einen Mosaikeffekt.
Dieses Beispiel verwendet imagecolorat der GD-Bibliothek, um die Pixelfarbe zu erhalten, und verwendet imagefilledrectangle, um das Rechteck zu zeichnen.
Rendering:
Der Code lautet wie folgt:
<?php /** 图片局部打马赛克 * @param String $source 原图 * @param Stirng $dest 生成的图片 * @param int $x1 起点横坐标 * @param int $y1 起点纵坐标 * @param int $x2 终点横坐标 * @param int $y2 终点纵坐标 * @param int $deep 深度,数字越大越模糊 * @return boolean */ function imageMosaics($source, $dest, $x1, $y1, $x2, $y2, $deep){ // 判断原图是否存在 if(!file_exists($source)){ return false; } // 获取原图信息 list($owidth, $oheight, $otype) = getimagesize($source); // 判断区域是否超出图片 if($x1>$owidth || $x1<0 || $x2>$owidth || $x2<0 || $y1>$oheight || $y1<0 || $y2>$oheight || $y2<0){ return false; } switch($otype){ case 1: $source_img = imagecreatefromgif($source); break; case 2: $source_img = imagecreatefromjpeg($source); break; case 3: $source_img = imagecreatefrompng($source); break; default: return false; } // 打马赛克 for($x=$x1; $x<$x2; $x=$x+$deep){ for($y=$y1; $y<$y2; $y=$y+$deep){ $color = imagecolorat($source_img, $x+round($deep/2), $y+round($deep/2)); imagefilledrectangle($source_img, $x, $y, $x+$deep, $y+$deep, $color); } } // 生成图片 switch($otype){ case 1: imagegif($source_img, $dest); break; case 2: imagejpeg($source_img, $dest); break; case 3: imagepng($source_img, $dest); break; } return is_file($dest)? true : false; } $source = 'source.jpg'; $dest = 'dest.jpg'; $flag = imageMosaics($source, $dest, 176, 98, 273, 197, 4); echo '<img src="'.$source.'">'; echo '<img src="'.$dest.'">'; ?>
In diesem Artikel wird erklärt, wie man Bilder teilweise über PHP mosaikiert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.
Verwandte Empfehlungen:
So erhalten Sie den MIME-Typ einer Datei über PHP-Informationen zu allen Benutzervideos
php-Zeichen Kodierung konvertierungsbezogener Inhalte
Das obige ist der detaillierte Inhalt vonWie man einen Teil eines Bildes mit PHP mosaikiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!