English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dieser Beispielcode zeigt, wie man in PHP verschwommene Bilder erzeugt. Hier ist der genaue Ablauf:
<&63;php class image_blur{ /** * Bild-Gaussian-Verwischung (geeignet für png/jpg/GIF-Format) * @param $srcImg das Originalbild * @param $savepath der Speicherpfad * @param $savename der Speichername * @param $positon die Grad der Verwischung * *basierend auf dem Code von Martijn Frazer, vielen Dank an Martijn Frazer */ public function gaussian_blur($srcImg,$savepath=null,$savename=null,$blurFactor=3{ $gdImageResource=$this->image_create_from_ext($srcImg); $srcImgObj=$this->blur($gdImageResource,$blurFactor); $temp = pathinfo($srcImg); $name = $temp['basename']; $path = $temp['dirname']; $exte = $temp['extension']; $savename = $savename &63; $savename : $name; $savepath = $savepath &63; $savepath : $path; $savefile = $savepath .'/'. $savename; $srcinfo = @getimagesize($srcImg); switch ($srcinfo[2}) { case 1: imagegif($srcImgObj, $savefile); break; case 2: imagejpeg($srcImgObj, $savefile); break; case 3: imagepng($srcImgObj, $savefile); break; default: return 'Speichern fehlgeschlagen'; //Speichern fehlgeschlagen } return $savefile; imagedestroy($srcImgObj); } /** * Starke Verschwommung * * @param $gdImageResource Bild-Ressource * @param $blurFactor wählbare Verschwommensebene * Wählbare Verschwommensebene 0 verwendet 3Standard: über5sehr verschwommen * @return GD Bild-Ressourcentyp * @author Martijn Frazer, Idee basierend auf http://stackoverflow.com/a/20264482 */ private function blur($gdImageResource, $blurFactor = 3) {}} // blurFactor muss eine Ganzzahl sein $blurFactor = round($blurFactor); $originalWidth = imagesx($gdImageResource); $originalHeight = imagesy($gdImageResource); $smallestWidth = ceil($originalWidth * pow(0.5, $blurFactor)); $smallestHeight = ceil($originalHeight * pow(0.5, $blurFactor)); // Für den ersten Durchlauf ist das vorherige Bild das ursprüngliche Eingabebild $prevImage = $gdImageResource; $prevWidth = $originalWidth; $prevHeight = $originalHeight; // scale way down and gradually scale back up, blurring all the way for($i = 0; $i < $blurFactor; $i += 1) {}} // determine dimensions of next image $nextWidth = $smallestWidth * pow(2, $i); $nextHeight = $smallestHeight * pow(2, $i); // resize previous image to next size $nextImage = imagecreatetruecolor($nextWidth, $nextHeight); imagecopyresized($nextImage, $prevImage, 0, 0, 0, 0, $nextWidth, $nextHeight, $prevWidth, $prevHeight); // apply blur filter imagefilter($nextImage, IMG_FILTER_GAUSSIAN_BLUR); // now the new image becomes the previous image for the next step $prevImage = $nextImage; $prevWidth = $nextWidth; $prevHeight = $nextHeight; } // scale back to original size and blur one more time imagecopyresized($gdImageResource, $nextImage, 0, 0, 0, 0, $originalWidth, $originalHeight, $nextWidth, $nextHeight); imagefilter($gdImageResource, IMG_FILTER_GAUSSIAN_BLUR); // clean up imagedestroy($prevImage); // return result return $gdImageResource; } private function image_create_from_ext($imgfile) {}} $info = getimagesize($imgfile); $im = null; switch ($info[2}) { case 1: $im=imagecreatefromgif($imgfile); break; case 2: $im=imagecreatefromjpeg($imgfile); break; case 3: $im=imagecreatefrompng($imgfile); break; } return $im; } } $image_blur = new image_blur(); $image_blur->gaussian_blur("./1.jpg",null,null,3); ?>
Originalbild-Effekt:
Effekt nach der Erstellung verschwommener Bilder:
Weitere Informationen zu PHP finden Sie in den Themenbereichen dieser Website: "Zusammenfassung der Techniken zur Bearbeitung von Grafiken und Bildern in PHP", "Zusammenfassung der Dateioperationen in PHP", "Vollständiges Handbuch der Array-(Array)-Operationen in PHP", "Einführung in die Grundgrammatik von PHP", "Zusammenfassung der Verwendung von Operatoren und Ausdrücken in PHP", "Einführung in die objektorientierte Programmierung in PHP", "Zusammenfassung der NetzwerkprogrammierungsTechniken in PHP", "Zusammenfassung der Verwendung von Zeichenfolgen (string) in PHP", "php"+Einführung in die mysql-Datenbankoperationen und Zusammenfassung der häufigen Datenbankoperationen in PHP
Es wird gehofft, dass die in diesem Artikel beschriebenen Inhalte für die PHP-Programmierung nützlich sind.
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem jeweiligen Urheber. Der Inhalt wurde von Internetnutzern selbstständig bereitgestellt und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Diese Website übernimmt keine Haftung für rechtliche Konsequenzen. Wenn Sie verdächtige urheberrechtliche Inhalte finden, freuen wir uns über eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @ beim Senden einer E-Mail zur Meldung von Verstößen und stellen Sie relevante Beweise zur Verfügung. Bei nachgewiesener Täuschung wird diese Website die betreffenden urheberrechtlichen Inhalte sofort löschen.)