PHP는 스크립팅 언어로서 풍부한 이미지 처리 기능 라이브러리를 갖추고 있어 크기 조정, 자르기, 워터마킹, 필터 등과 같은 이미지에 대한 다양한 처리 작업을 쉽게 수행할 수 있으며 다양한 형식의 이미지를 지원합니다.
이 기사에서는 PHP에서 일반적으로 사용되는 이미지 처리 기능을 소개하고 실제 적용 시나리오와 샘플 코드를 제공합니다.
1. 확대/축소 및 자르기
이미지 처리를 위한 일반적인 작업은 아래에서 해당 PHP 이미지 처리 기능을 자세히 소개합니다.
imagecopyresize()는 PHP에서 가장 일반적으로 사용되는 크기 조정 함수로, 원본 이미지의 가로 세로 비율을 유지하면서 이미지 크기를 변경할 수 있습니다.
이 함수의 구문은 다음과 같습니다:
bool imagecopyreized (resource $dst_image , resources $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $ src_w , int $ src_h )
매개변수 설명:
$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor(300, 300);
$src_w = Imagesx($ src_image );//소스 이미지 너비 가져오기
$src_h = imagey($src_image);//소스 이미지 높이 가져오기
$dst_w = 300;
$dst_h = 300;
imagecopyreized($dst_image, $src_image, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);
imagepng($dst_image, 'resize.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>
이 함수의 구문은 다음과 같습니다:
bool imagecopyresampled (resource $dst_image , Resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $ src_w , int $ src_h )
Parameter 설명은 imagecopyresize()와 동일합니다.
다음은 이미지 자르기를 위한 코드 예제입니다:
$src_image = imagecreatefrompng('origin.png');
$dst_image = imagecreatetruecolor(200, 200);
$src_w = Imagesx($ src_image );//소스 이미지 너비 가져오기
$src_h = imagey($src_image);//소스 이미지 높이 가져오기
$dst_w = 200;
$dst_h = 200;
$x = 0;
$y = 0;
$src_x = ($src_w-$dst_w)/2;
$src_y = ($src_h-$dst_h)/2;
imagecopyresampled($dst_image, $src_image, $x, $y, $src_x, $src_y, $ dst_w , $dst_h, $dst_w, $dst_h);
imagepng($dst_image, 'crop.png');
imagedestroy($src_image);
imagedestroy($dst_image);
?>
2. 워터마크
Right 사진에 워터마크를 추가하는 것은 실제 응용 프로그램에서 자주 사용되는 시나리오이며 PHP도 해당 기능 지원을 제공합니다.
imagecopy() 함수를 사용하면 한 이미지를 다른 이미지 위에 오버레이하여 워터마크 효과를 얻을 수 있습니다.
이 함수의 구문은 다음과 같습니다:
bool imagecopy (resource $dst_image, resources $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_w, int $src_h)
매개변수 설명:
$dst_image는 대상 이미지 리소스입니다.$watermark_image = imagecreatefrompng('watermark.png');
$src_w = Imagesx ( $src_image);// 소스 이미지 너비 가져오기$src_h = imagey($src_image);// 소스 이미지 높이 가져오기
$watermark_w = Imagesx($watermark_image);// 워터마크 너비 가져오기
$watermark_h = Imagesy( $watermark_image ); // 워터마크 높이 가져오기
$max_width = $src_w - $watermark_w - 10; // 워터마크 위치에 허용되는 최대 너비
$max_height = $src_h - $watermark_h - 10; 워터마크 위치에서
$x = rand(10, $max_width); // 무작위로 생성된 워터마크 위치의 가로 좌표
$y = rand(10, $max_height); // 무작위로 생성된 워터마크 위치의 세로 좌표
imagecopy($src_image, $watermark_image, $x , $y, 0, 0, $watermark_w, $watermark_h);
imagepng($src_image, 'watermarked.png');
imagedestroy($src_image);
imagedestroy($ watermark_image);
?>
3. 필터
PHP는 사진을 더욱 흥미롭고 예술적으로 만들 수 있는 다양한 필터 효과도 제공합니다.
imagefilter() 함수는 반전, 회색조, 흐림 등 다양한 필터 효과를 지원합니다. 자세한 내용은 공식 PHP 문서를 참조하세요.
다음은 필터 효과를 사용한 코드 예시입니다.
$src_image = imagecreatefrompng('origin.png');
imagefilter($src_image, IMG_FILTER_PIXELATE, 15, true);// 모자이크
imagefilter($src_image, IMG_FILTER_CONTRAST, -50);// 대비 조정
imagepng($src_image, 'filter.png');
imagedestroy($src_image);
?>
위 코드는 이미지의 모자이크 및 대비 조정을 구현합니다.
요약하자면, PHP는 이미지 처리에 대한 강력한 지원을 제공하며 기능은 간단하고 사용하기 쉬워 대부분의 애플리케이션 시나리오의 요구 사항을 충족할 수 있습니다. 일반적으로 사용되는 이미지 처리 기능을 이해하면 웹 애플리케이션 개발 효율성이 크게 향상됩니다.
위 내용은 PHP 이미지 효과 처리 기능 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!