현재 위치: > 최신 기사 목록> 이미지 모자이크 효과를 달성하기 위해 PHP에 대한 완전한 자습서

이미지 모자이크 효과를 달성하기 위해 PHP에 대한 완전한 자습서

M66 2025-07-28

PHP와 Imagick을 통해 그림의 모자이크 효과를 구현하십시오

모자이크 효과는 일반적으로 사용되는 이미지 편집 기술로 개인 정보 보호 및 민감한 정보 숨기기에 널리 사용됩니다. 이미지를 여러 개의 작은 조각으로 나누고 흐리게함으로써 이미지의 자세한 정보를 효과적으로 숨길 수 있습니다. 이 기사는이 효과를 달성하기 위해 Imagick 라이브러리와 함께 PHP를 사용하는 방법을 소개합니다.

준비 : Imagick 확장을 설치하십시오

시작하기 전에 PHP 환경에 Imagick 확장이 설치되어 있는지 확인해야합니다. 다음과 같이 확인할 수 있습니다.

 $ php -m | Grep Imaginek

명령 출력에 "Imagick"이 포함 된 경우 성공적으로 설치됩니다. 그렇지 않으면 먼저 Imagick 확장을 설치해야합니다.

PHP 코드 예제 이미지 모자이크 효과를 구현합니다

다음 코드는 Imagick 클래스를 통해 모자이크 이미지를 만드는 방법을 보여줍니다. 코드 로직은 명확하고 이해하기 쉽습니다.

<?php
function mosaicImage($inputImage, $outputImage, $blockSize) {
  
  // 만들다Imagick반대하고 그림을 읽으십시오
  $imagick = new Imagick();
  $imagick-> readImage ($ inputImage);
  
  // 이미지 너비와 높이를 가져옵니다 $ $ 너비 = $ imagick-> getImageWidth ();
  $ height = $ imagick-> getImageHeight ();
  
  // 모자이크 블록의 수를 계산합니다 $ blocksx = $ width / $ blocksize;
  $ blocksy = $ height / $ blocksize;
  
  // 각 모자이크 블록을 반복하고 ($ y = 0; $ y <$ blocksy; $ y ++) {
    for ($ x = 0; $ x <$ blocksx; $ x ++) {
      $ startx = $ x * $ blocksize;
      $ starty = $ y * $ blocksize;
      
      // 현재 처리 영역을 설정 $ imagick-> setImagePage ($ blocksize, $ blocksize, $ startx, $ starty);
      
      // Blur $ imagick-> Blurimage ($ blocksize / 10, $ blocksize / 10)를 통해 모자이크 효과를 구현합니다.
    }
  }
  
  // 처리 된 이미지 저장 $ imagick-> writeImage ($ outputImage);
  
  // 리소스 릴리스 $ imagick-> destroy ();
}

// set $ inputImage = "input.jpg";
$ outputImage = "output.jpg";
$ blocksize = 20;

// 모자이크 처리 실행 MosaicImage ($ inputImage, $ outputImage, $ blocksize);
?>

코드 구문 분석

위의 코드에서는 MosaicImage 라는 기능이 정의되어 입력 이미지 경로, 출력 이미지 경로 및 모자이크 블록 크기의 세 가지 매개 변수를 수용합니다. Imagick 객체는 기능에서 먼저 인스턴스화되고 이미지가로드 된 다음 이미지가 나누어 진 모자이크 블록의 수를 계산합니다.

이중 계층 루프를 통해 각 작은 블록을 통해 반복하고 SetImagePage 방법을 사용하여 현재 블록 영역을 찾은 다음 흐림 효과를 사용하여 블러 효과를 달성하고 마지막으로 writeImage를 호출하여 결과 이미지를 저장하십시오.

요약

PHP 및 Imagick 라이브러리의 도움으로 이미지의 모자이크 처리를 쉽게 달성 할 수 있습니다. 이 방법에는 명확한 구조와 강력한 확장 성이 있으며, 이는 사진 프라이버시를 보호하거나 특별한 시각 효과를 만들어야하는 개발 요구에 적합합니다. 모자이크 블록 크기를 조정함으로써 사용자는 흐림 및 그림 세부 사항을 유연하게 제어 할 수 있습니다.