>  기사  >  백엔드 개발  >  PHP 이미지 효과 처리 기능 사용 소개

PHP 이미지 효과 처리 기능 사용 소개

PHPz
PHPz원래의
2023-06-15 20:48:331084검색

PHP는 스크립팅 언어로서 풍부한 이미지 처리 기능 라이브러리를 갖추고 있어 크기 조정, 자르기, 워터마킹, 필터 등과 같은 이미지에 대한 다양한 처리 작업을 쉽게 수행할 수 있으며 다양한 형식의 이미지를 지원합니다.

이 기사에서는 PHP에서 일반적으로 사용되는 이미지 처리 기능을 소개하고 실제 적용 시나리오와 샘플 코드를 제공합니다.

1. 확대/축소 및 자르기

이미지 처리를 위한 일반적인 작업은 아래에서 해당 PHP 이미지 처리 기능을 자세히 소개합니다.

  1. Scale

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 )

매개변수 설명:

  • $dst_image는 대상 이미지 리소스입니다.
  • $src_image는 소스 이미지 리소스입니다.
  • $dst_x 및 $dst_y는 왼쪽 상단 모서리의 좌표 위치입니다. 대상 이미지 리소스
  • $src_x 및 $src_y는 소스 이미지 리소스의 왼쪽 상단 모서리의 좌표 위치입니다.
  • $dst_w 및 $dst_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);
?>

자르기
  1. imagecopyresampled()는 PHP에서 자르기에 사용되는 함수입니다. imagecopyresize()와 비슷한 기능을 가지고 있지만 더 높은 품질의 크기 조절 효과를 얻을 수 있습니다.

이 함수의 구문은 다음과 같습니다:

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는 대상 이미지 리소스입니다.
  • $src_image는 소스 이미지 리소스입니다.
  • $dst_x 및 $dst_y는 대상 이미지 리소스의 왼쪽 상단 모서리입니다. 및 $src_y는 소스 이미지 리소스의 왼쪽 상단입니다. 좌표 위치
  • $src_w 및 $src_h는 소스 이미지 리소스의 너비와 높이입니다.
  • 다음은 워터마크가 포함된 코드 예제입니다.
  • $src_image = imagecreatefrompng('origin.png');

    $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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.