>  기사  >  백엔드 개발  >  PHP의 이미지 특수 효과 및 구현 방법

PHP의 이미지 특수 효과 및 구현 방법

WBOY
WBOY원래의
2023-06-22 12:56:43812검색

웹사이트 개발 시 이미지 특수 효과는 페이지의 아름다움을 높이고, 사용자의 관심을 끌고, 사용자에게 더 나은 경험을 제공할 수 있습니다. 강력한 백엔드 언어인 PHP는 이미지 특수 효과를 얻을 수 있는 다양한 방법도 제공합니다. 이 기사에서는 PHP에서 일반적으로 사용되는 이미지 효과와 그 구현 방법을 소개합니다.

  1. 이미지 크기 조정

이미지 크기 조정은 웹 사이트에서 반응형 디자인을 달성하는 일반적인 방법 중 하나입니다. imagecopyresampled() 함수는 이미지 크기 조정 작업을 완료하기 위해 PHP에서 제공됩니다. 이 함수의 프로토타입은 다음과 같습니다:

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 )

그 중 $dst_image는 대상 이미지 리소스, $src_image는 원본 이미지 리소스, $dst_x 및 $dst_y는 대상 이미지의 왼쪽 상단 위치, $src_x 및 $scr_y는 왼쪽 위입니다. 소스 이미지의 모서리 위치, $dst_w 및 $dst_h는 대상 이미지의 너비와 높이이고, $src_w 및 $src_h는 소스 이미지의 너비와 높이입니다.

$dst_w 및 $dst_h 값을 조정하여 이미지 크기 조정을 달성할 수 있습니다. 예를 들어 이미지를 크기의 50%로 줄이려면 코드는 다음과 같습니다.

$src_img = imagecreatefromjpeg('test.jpg');
$dst_img = imagecreatetruecolor(imagesx($src_img) / 2, imagesy($src_img) / 2);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, imagesx($dst_img), imagesy($dst_img), imagesx($src_img), imagesy($src_img));
imagejpeg($dst_img, 'test_resized.jpg', 90);
imagedestroy($src_img);
imagedestroy($dst_img);
  1. Crop an image

Crop an image는 이미지의 특정 부분을 유지하고 나머지 부분을 제거하는 작업을 의미합니다. PHP에서는 imagecrop() 함수를 사용하여 이미지 자르기 작업을 완료할 수 있습니다. 이 함수의 프로토타입은 다음과 같습니다:

resource imagecrop (resource $image, array $ret )

여기서, $image는 잘라낼 이미지 리소스이고, $ect는 ​​자르기 영역을 나타내는 배열이며, 네 가지 요소를 포함합니다. 즉 왼쪽 위 모서리 x 좌표, 왼쪽 위 모서리의 y 좌표, 자르기 영역의 너비 및 자르기 영역의 높이입니다.

예를 들어, 이미지를 정사각형으로 자르고 이미지의 중심을 자르기 기준으로 사용하려는 경우 코드는 다음과 같습니다.

$src_img = imagecreatefromjpeg('test.jpg');
$src_w = imagesx($src_img);
$src_h = imagesy($src_img);
$dst_img = imagecrop($src_img, [
    $src_w > $src_h ? ($src_w - $src_h) / 2 : 0,
    $src_w > $src_h ? 0 : ($src_h - $src_w) / 2,
    min($src_w, $src_h),
    min($src_w, $src_h)
]);
imagejpeg($dst_img, 'test_cropped.jpg', 90);
imagedestroy($src_img);
imagedestroy($dst_img);
  1. 이미지 회전

이미지 회전은 방향을 변경할 수 있으며 다양한 요구에 맞게 이미지의 각도를 조정합니다. PHP에서는 imagerotate() 함수를 사용하여 이미지 회전을 완료할 수 있습니다. 이 함수의 프로토타입은 다음과 같습니다.

resource imagerotate (resource $image, float $angle, int $bgd_color [, int $ignore_transparent = 0 ] )

여기서 $image는 회전할 이미지 리소스이고 $angle은 회전 각도, $bgd_color는 배경색, $ignore_transparent는 투명 색상을 무시할지 여부를 나타냅니다.

예를 들어 이미지를 시계 반대 방향으로 90도 회전하려면 코드는 다음과 같습니다.

$src_img = imagecreatefromjpeg('test.jpg');
$dst_img = imagerotate($src_img, 90, 0);
imagejpeg($dst_img, 'test_rotated.jpg', 90);
imagedestroy($src_img);
imagedestroy($dst_img);
  1. 이미지 워터마크

이미지 워터마크는 이미지에 일부 텍스트나 그림을 추가하여 해당 이미지의 저작권 정보를 소유하고 있음을 나타냅니다. 이미지 등 PHP에서는 imagestring() 함수나 imagecopy() 함수를 사용하여 워터마크를 추가할 수 있습니다. 그 중 imagestring() 함수를 사용하여 텍스트 워터마크를 추가할 수 있습니다. 구체적인 사용법은 다음과 같습니다:

bool imagestring ( resources $image , int $font , int $x , int $y , string $string , int $ color )

여기서 $image는 워터마크와 함께 추가할 이미지 리소스, $font는 글꼴, $x 및 $y는 이미지 내 텍스트 위치, $string은 표시할 문자열, $ 색상은 텍스트의 색상입니다.

예를 들어 이미지의 왼쪽 상단에 텍스트 워터마크를 추가하는 경우 코드는 다음과 같습니다.

$src_img = imagecreatefromjpeg('test.jpg');
imagestring($src_img, 5, 10, 10, 'Watermark', 0xFFFFFFFF);
imagejpeg($src_img, 'test_watermarked.jpg', 90);
imagedestroy($src_img);

위는 PHP에서 이미지 특수 효과를 구현하는 몇 가지 방법입니다. 이러한 방법을 통해 웹 페이지에 더 많은 시각 효과를 추가하고 웹 페이지를 더욱 생생하고 흥미롭게 만들며 사용자의 요구를 더 잘 충족할 수 있습니다.

위 내용은 PHP의 이미지 특수 효과 및 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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