> 백엔드 개발 > PHP 튜토리얼 > php_php 기술로 사진의 부분 모자이크를 얻는 방법

php_php 기술로 사진의 부분 모자이크를 얻는 방법

WBOY
풀어 주다: 2016-05-16 20:23:38
원래의
1067명이 탐색했습니다.

이 기사의 예에서는 PHP에서 그림의 부분 모자이크를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

원칙:

이미지에서 선택한 영역의 각 픽셀에 특정 너비와 높이를 추가하여 직사각형을 생성합니다. 각 픽셀의 직사각형이 겹쳐져 모자이크 효과를 형성합니다.
이 예에서는 GD 라이브러리의 imagecolorat을 사용하여 픽셀 색상을 얻고 imagefilled직사각형을 사용하여 사각형을 그립니다.

렌더링은 다음과 같습니다.

코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
/**사진이 부분적으로 모자이크 처리되었습니다
* @param String $source 원본 이미지
* @param Stirng $dest 생성 이미지
* @param int $x1 시작점 가로좌표
* @param int $y1 시작점 세로좌표
* @param int $x2 끝점 가로좌표
* @param int $y2 끝점의 수직좌표
* @param int $deep 깊이, 숫자가 클수록 흐려집니다
* @return 부울
*/
함수 imageMosaics($source, $dest, $x1, $y1, $x2, $y2, $deep){

// 원본 이미지가 존재하는지 확인
If(!file_exists($source)){
          false 반환;                              }  

// 원본 이미지 정보 가져오기
목록($owidth, $oheight, $otype) = getimagesize($source)

// 영역이 이미지를 초과하는지 확인
if($x1>$owidth || $x1<0 || $x2>$owidth || $x2<0 || $y1>$oheight || $y1<0 || $y2>$oheight || $y2< ;0){
          false 반환;                              }  

스위치($otype){
          사례 1: $source_img = imagecreatefromgif($source)
사례 2: $source_img = imagecreatefromjpeg($source)
사례 3: $source_img = imagecreatefrompng($source)
기본:                false 반환;                                }  

// 모자이크
for($x=$x1; $x<$x2; $x=$x $deep){
for($y=$y1; $y<$y2; $y=$y $deep){
$color = imagecolorat($source_img, $x round($deep/2), $y round($deep/2))
imagefilled직사각형($source_img, $x, $y, $x $deep, $y $deep, $color)
~ }  

// 이미지 생성
스위치($otype){
사례 1: imagegif($source_img, $dest)
사례 2: imagejpeg($source_img, $dest)
사례 3: imagepng($source_img, $dest)
}  

is_file($dest)을 반환합니까? true: false

}

$소스 = '소스.jpg'
$dest = 'dest.jpg'

$flag = imageMosaics($source, $dest, 176, 98, 273, 197, 4)
echo ''; echo ''; ?>


전체 예제 코드를 보려면 여기를 클릭하세요
이 사이트에서 다운로드하세요
.

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿