L'effet mosaïque est une technologie d'édition d'image couramment utilisée, qui est largement utilisée dans la protection de la confidentialité et la cachette d'informations sensibles. En divisant l'image en plusieurs petits morceaux et en les brouillant, les informations détaillées de l'image peuvent être effectivement cachées. Cet article présentera comment utiliser PHP en conjonction avec la bibliothèque Imagrick pour réaliser cet effet.
Avant de commencer, vous devez vous assurer que l'extension Imagick est installée dans l'environnement PHP. Vous pouvez le vérifier par:
$ php -m | grep Imaginek
Si la sortie de commande contient "Imagick", il est installé avec succès. Sinon, vous devez d'abord installer l'extension Imagick.
Le code suivant montre comment mosaïque les images via la classe Imagick. La logique de code est claire et facile à comprendre et à étendre:
<?php function mosaicImage($inputImage, $outputImage, $blockSize) { // créerImagickObjet et lisez l'image $imagick = new Imagick(); $imagick-> releImage ($ inputImage); // Obtenez la largeur et la hauteur de l'image $ width = $ imagrick-> getImageWidth (); $ height = $ imagrick-> getImageHeight (); // Calculez le nombre de blocs de mosaïque $ blocksx = $ largeur / $ blockSize; $ BlockSy = $ height / $ BlockSize; // itérate à travers chaque bloc de mosaïque et flou pour ($ y = 0; $ y <$ blocksy; $ y ++) { pour ($ x = 0; $ x <$ blocksx; $ x ++) { $ startx = $ x * $ blockSize; $ starty = $ y * $ blockSize; // Définissez la zone de traitement actuelle $ imagrick-> setimagePage ($ BlockSize, $ BlockSize, $ startx, $ starty); // implémentez l'effet mosaïque via Blur $ Imagick-> Blurimage ($ BlockSize / 10, $ BlockSize / 10); } } // Enregistrer l'image traitée $ imagrick-> writeImage ($ outputImage); // Libérez la ressource $ imagrick-> destrument (); } // set $ inputImage = "input.jpg"; $ outputImage = "Output.jpg"; $ blockSize = 20; // Exécuter Mosaic Processing Mosaicimage ($ inputImage, $ outputImage, $ BlockSize); ?>
Dans le code ci-dessus, une fonction nommée Mosaicimage est définie, qui accepte trois paramètres: chemin d'image d'entrée, chemin d'image de sortie et taille du bloc mosaïque. L'objet Imagick est d'abord instancié dans la fonction et l'image est chargée, puis il calcule le nombre de blocs de mosaïque que l'image est divisée.
Grâce à une boucle à double couche, parcourez chaque petit bloc, utilisez la méthode SEIMagePage pour localiser la zone de bloc actuelle, puis utilisez Blurimage pour réaliser l'effet Blur, et enfin appelez WriteImage pour enregistrer l'image de résultat.
Avec l'aide de bibliothèques PHP et Imagick, il est facile d'atteindre le traitement en mosaïque des images. Cette méthode a une structure claire et une forte évolutivité, ce qui convient aux besoins de développement qui doivent protéger la confidentialité de l'image ou créer des effets visuels spéciaux. En ajustant la taille du bloc mosaïque, les utilisateurs peuvent contrôler de manière flexible le degré de flou et les détails de l'image.