현재 위치: > 최신 기사 목록> 이미지 워터 마크 첨가 기능을 구현하려면 imageCreateFromgd2 ()를 사용하십시오

이미지 워터 마크 첨가 기능을 구현하려면 imageCreateFromgd2 ()를 사용하십시오

M66 2025-05-17

PHP에서 이미지 처리 기능은 GD 라이브러리에서 제공하는 여러 기능을 통해 구현 될 수 있습니다. imageCreateFromgd2 ()는 GD 라이브러리에서 이미지를 .gd2 형식으로로드하는 함수입니다. 이 기사에서는 이미지에 워터 마크 효과를 추가하기 위해 imageCreateFromgd2 () 함수를 사용하는 방법을 소개합니다. 또한 PHP의 GD 기능을 사용하여 이미지 조작을 수행하고 간단한 워터 마크 효과를 만드는 방법을 보여 드리겠습니다.

1. 환경 준비

시작하기 전에 PHP 환경에 GD 라이브러리가 활성화되어 있는지 확인하십시오. Linux를 사용하는 경우 다음 명령을 통해 설치할 수 있습니다.

 sudo apt-get install php-gd

설치가 완료되면 PHP 서버를 다시 시작하십시오.

2. 코드 구현

1. 이미지를로드하십시오

먼저, imageCreateFromgd2 () 함수를 사용하여 원본 .gd2 이미지 파일을로드해야합니다. 이 함수는 이미지 리소스를 반환하며 다음에 작동 할 수 있습니다.

 <?php
// 원본 이미지를로드하십시오
$original_image = imagecreatefromgd2('original_image.gd2');

// 이미지가 성공적으로로드되는지 확인하십시오
if (!$original_image) {
    die("이미지로드가 실패했습니다!");
}
?>

2. 워터 마크 이미지를로드하십시오

다음으로 이미지를 워터 마크로로드합니다. 이것은 PNG, JPEG 등과 같은 모든 형식의 이미지 일 수 있습니다. PNG 형식의 워터 마크 이미지가 있다고 가정합니다.

 <?php
// 워터 마크 이미지 로딩
$watermark = imagecreatefrompng('watermark.png');

// 워터 마크 이미지가 성공적으로로드되는지 확인하십시오
if (!$watermark) {
    die("워터 마크 로딩이 실패했습니다!");
}
?>

3. 워터 마크 투명성을 설정하십시오

워터 마크가 너무 갑작스럽지 않도록하기 위해 워터 마크의 투명성을 설정할 수 있습니다. imagecolorallocatealpha ()를 사용하여 투명성이있는 색상을 만들 수 있습니다. GD 라이브러리의 이미지 처리는 일반적으로 색상의 "투명성"값을 사용하여 투명성을 제어합니다.

 <?php
// 투명성을 설정하십시오
imagealphablending($watermark, true);
imagesavealpha($watermark, true);
?>

4. 워터 마크 위치를 계산합니다

워터 마크를 원본 이미지에 올바르게 추가하려면 워터 마크 이미지의 위치를 ​​계산해야합니다. 일반적으로, 우리는 워터 마크를 이미지의 오른쪽 하단에 배치 할 수 있지만 필요에 따라 위치를 조정할 수 있습니다.

 <?php
// 원본 이미지 및 워터 마크 이미지의 크기를 얻으십시오.
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

// 워터 마크 배치의 좌표를 계산하십시오(하단 오른쪽 코너)
$x = $original_width - $watermark_width - 10;
$y = $original_height - $watermark_height - 10;
?>

5. 워터 마크를 합성합니다

imageCopy () 함수를 통해 워터 마크 이미지를 원본 이미지에 합성 할 수 있습니다. imageCopy () 함수는 소스 이미지를 대상 이미지의 지정된 위치로 복사 할 수 있습니다.

 <?php
// 워터 마크를 원본 이미지로 합성하십시오
imagecopy($original_image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);
?>

6. 출력 이미지

마지막으로 복합 이미지를 출력해야합니다. 모든 형식 (예 : PNG 또는 JPEG)으로 이미지 출력을 선택할 수 있습니다. 다음은 PNG 형식의 코드 출력입니다.

 <?php
// 최종 이미지를 출력하십시오
header('Content-Type: image/png');
imagepng($original_image);

// 이미지 자원을 파괴하십시오,무료 메모리
imagedestroy($original_image);
imagedestroy($watermark);
?>

7. 코드 예제 완료

 <?php
// 원본 이미지를로드하십시오
$original_image = imagecreatefromgd2('original_image.gd2');
if (!$original_image) {
    die("이미지로드가 실패했습니다!");
}

// 워터 마크 이미지 로딩
$watermark = imagecreatefrompng('watermark.png');
if (!$watermark) {
    die("워터 마크 로딩이 실패했습니다!");
}

// 투명성을 설정하십시오
imagealphablending($watermark, true);
imagesavealpha($watermark, true);

// 원본 이미지 및 워터 마크 이미지의 크기를 얻으십시오.
$original_width = imagesx($original_image);
$original_height = imagesy($original_image);
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);

// 워터 마크 배치의 좌표를 계산하십시오(하단 오른쪽 코너)
$x = $original_width - $watermark_width - 10;
$y = $original_height - $watermark_height - 10;

// 워터 마크를 원본 이미지로 합성하십시오
imagecopy($original_image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height);

// 최종 이미지를 출력하십시오
header('Content-Type: image/png');
imagepng($original_image);

// 이미지 자원을 파괴하십시오,무료 메모리
imagedestroy($original_image);
imagedestroy($watermark);
?>

3. 요약

imageCreateFromgd2 () 함수를 사용하면 이미지를 .gd2 형식으로 쉽게로드하고 PHP의 GD 라이브러리를 사용하여 이미지에 워터 마크를 추가 할 수 있습니다. 필요에 따라 워터 마크의 투명성, 위치 및 이미지 출력 형식을 조정할 수 있습니다. 다른 형식의 이미지로 작업 해야하는 경우 해당 이미지로드 기능 (예 : imageCreateFrommpng () 또는 imageCreateFromJPEG () )를 교체하십시오.

이러한 방식으로 이미지의 워터 마킹 기능을 쉽게 구현하여 이미지 저작권을 보호하거나 개인화 된 요소를 추가 할 수 있습니다.