現在の位置: ホーム> 最新記事一覧> Imagicickを組み合わせて画像モザイク効果を実現するPHPの完全なチュートリアル

Imagicickを組み合わせて画像モザイク効果を実現するPHPの完全なチュートリアル

M66 2025-07-28

PHPとImagicickを介して写真のモザイク効果を実装します

モザイク効果は、一般的に使用される画像編集テクノロジーであり、プライバシー保護と機密情報の隠れ家に広く使用されています。画像をいくつかの小さな部分に分割してぼやけすることにより、画像の詳細情報を効果的に非表示にすることができます。この記事では、この効果を実現するためにImagicickライブラリと一緒にPHPを使用する方法を紹介します。

準備:Imagick拡張機能をインストールします

開始する前に、Imagick拡張機能がPHP環境にインストールされていることを確認する必要があります。あなたはそれを確認することができます:

 $ php -m | Grep Imaginek

コマンド出力に「Imagicick」が含まれている場合、正常にインストールされます。それ以外の場合は、最初にImagick拡張機能をインストールする必要があります。

画像モザイク効果を実装するためのPHPコードの例

次のコードは、Imagicickクラスを介して画像をモザイクする方法を示しています。コードロジックは明確で、理解しやすく、拡張しやすいです。

<?php
function mosaicImage($inputImage, $outputImage, $blockSize) {
  
  // 作成するImagickオブジェクトと写真を読んでください
  $imagick = new Imagick();
  $imagick-> readimage($ inputImage);
  
  //画像幅と高いさを得る$ width = $ yumagick-> getImageWidth();
  $ height = $ imagick-> getImageHeight();
  
  //モザイクブロックの数を計算しますします$ blocksx = $ width / $ blocksize;
  $ blocksy = $ height / $ blocksize;
  
  //それぞれモザイクブロックを繰り戻るしてblur($ y = 0; $ y <$ blocksy; $ y ++){
    for($ x = 0; $ x <$ blocksx; $ x ++){
      $ startx = $ x * $ blocksize;
      $ starty = $ y * $ blocksize;
      
      //今の処理領域を設定します$ imagick-> setimagePage($ blocksize、$ blocksize、$ startx、$ starty);
      
      // blur $ imagicick-> blurimage($ blocksize / 10、$ blocksize / 10)を使用してモザイク効果を実装します。
    }
  }
  
  //処理済みの画像を保存$ imagick-> writeimage($ outputimage);
  
  //リソースをリリース$ imagick-> destroy();
}

// $ inputimage = "input.jpg";
$ outputimage = "output.jpg";
$ blocksize = 20;

// Mosaic Processing MosaicImage($ inputImage、$ outputimage、$ blocksize)を実行します。
?>

コード解析

上記のコードでは、 MosaicImageという名前の関数が定義されており、入力画像パス、出力イメージパス、モザイクブロックサイズの3つのパラメーターを受け入れます。イメージックオブジェクトは最初に関数にインスタンス化され、画像がロードされ、次に画像が分割されるモザイクブロックの数を計算します。

ダブルレイヤーループを介して、各小さなブロックを反復し、 SetimagePageメソッドを使用して現在のブロック領域を見つけてから、ぼかし効果を実現し、最後にwriteimage呼び出して結果画像を保存します。

要約します

PHPおよびImagicickライブラリの助けを借りて、画像のモザイク処理を簡単に実現できます。この方法には、明確な構造と強力なスケーラビリティがあります。これは、画像のプライバシーを保護したり、特別な視覚効果を生み出したりする必要がある開発ニーズに適しています。モザイクブロックサイズを調整することにより、ユーザーはぼやけの程度と画像の詳細を柔軟に制御できます。