Position actuelle: Accueil> Derniers articles> Tutoriel complet sur PHP combinant Imagrick pour réaliser l'effet de mosaïque d'image

Tutoriel complet sur PHP combinant Imagrick pour réaliser l'effet de mosaïque d'image

M66 2025-07-28

Mettre en œuvre l'effet mosaïque des images via PHP et Imagick

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.

Préparation: installer l'extension Imagick

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.

Exemples de code PHP pour implémenter l'effet de mosaïque d'image

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&#39;image
  $imagick = new Imagick();
  $imagick-> releImage ($ inputImage);
  
  // Obtenez la largeur et la hauteur de l&#39;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&#39;effet mosaïque via Blur $ Imagick-> Blurimage ($ BlockSize / 10, $ BlockSize / 10);
    }
  }
  
  // Enregistrer l&#39;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);
?>

Analyse de code

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.

Résumer

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.