이 기사의 예에서는 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 프로그래밍 설계에 도움이 되기를 바랍니다.