Der Mosaik -Effekt ist eine häufig verwendete Bildbearbeitungstechnologie, die häufig beim Verstecken des Datenschutzschutzes und des sensiblen Informationen verwendet wird. Durch die Aufteilung des Bildes in mehrere kleine Stücke und verwischte es die detaillierten Informationen des Bildes können effektiv versteckt werden. In diesem Artikel wird vorgestellt, wie PHP in Verbindung mit der Imagick -Bibliothek verwendet wird, um diesen Effekt zu erzielen.
Bevor Sie beginnen, müssen Sie sicherstellen, dass die Imagick -Erweiterung in der PHP -Umgebung installiert ist. Sie können es überprüfen durch:
$ php -m | Grep Imaginek
Wenn der Befehlsausgang "Imagick" enthält, wird er erfolgreich installiert. Andernfalls müssen Sie zuerst die Imagick -Erweiterung installieren.
Der folgende Code zeigt, wie Mosaikbilder durch die Imageick -Klasse erhoben werden. Die Codelogik ist klar und leicht zu verstehen und zu erweitern:
<?php function mosaicImage($inputImage, $outputImage, $blockSize) { // erstellenImagickObjekt und lesen Sie das Bild $imagick = new Imagick(); $imagick-> ReadImage ($ InputImage); // Bildbreite und Höhe $ width = $ imagick-> getImagewidth (); $ height = $ imagick-> getImageHeight (); // Berechnen Sie die Anzahl der Mosaikblöcke $ blocksx = $ width / $ blocksize; $ blockSy = $ HEIGHT / $ BLOCKSIZE; // durch jeden Mosaikblock und verschwommen für ($ y = 0; $ y <$ blocksy; $ y ++) {{$ y <$ blocksy) iterieren {$ y <$ blocksy; $ y ++) { für ($ x = 0; $ x <$ blocksx; $ x ++) { $ startx = $ x * $ blocksize; $ starty = $ y * $ blocksize; // Setzen Sie den aktuellen Verarbeitungsbereich $ Imagick-> setImagePage ($ blocksize, $ blocksize, $ startx, $ starty); // Implementieren Sie den Mosaic-Effekt durch Blur $ Imagick-> Blurimage ($ blocksize / 10, $ blocksize / 10); } } // Speichern Sie das verarbeitete Bild $ Imagick-> WriteImage ($ outputImage); // die Ressource $ imagick-> destroy () freigeben; } // $ inputImage = "input.jpg" festlegen; $ outputImage = "output.jpg"; $ blocksize = 20; // Mosaikverarbeitungsmosaicimage ausführen ($ InputImage, $ outputImage, $ blocksize); ?>
Im obigen Code ist eine Funktion namens Mosaicimage definiert, die drei Parameter akzeptiert: Eingabebildpfad, Ausgabe -Bildpfad und Mosaikblockgröße. Das Imagick -Objekt wird erstmals in der Funktion und das Bild geladen und berechnet dann, in wie viele Mosaikblöcke das Bild unterteilt ist.
Durch eine Doppelschichtschleife durch jeden kleinen Block iterieren, mit der SetImagePage -Methode den aktuellen Blockbereich lokalisieren und dann Blurimage verwenden, um den Unschärfeeffekt zu erzielen, und schließlich Schreibeinruf aufrufen, um das Ergebnisbild zu speichern.
Mit Hilfe von PHP- und Imagick -Bibliotheken ist es einfach, die mosaische Verarbeitung von Bildern zu erreichen. Diese Methode hat eine klare Struktur und eine starke Skalierbarkeit, die für die Entwicklungsbedürfnisse geeignet ist, die die Privatsphäre des Bildes schützen oder spezielle visuelle Effekte erzeugen müssen. Durch Anpassen der Mosaik -Blockgröße können Benutzer den Grad der Unschärfe und die Bilddetails flexibel steuern.