s

PHP를 사용하여 이미지에 워터마크를 추가하는 방법 한가지

· 2023-08-08 (화) 08:56:23 · 2544

PHP를 사용하여 이미지에 워터마크를 추가하는 방법은 여러 가지가 있습니다. 다음은 일반적인 방법 중 하나입니다.

1. 먼저, GD 또는 Imagick과 같은 PHP 이미지 처리 라이브러리를 설치해야 합니다. 이 라이브러리를 사용하면 이미지를 로드하고 수정할 수 있습니다.

2. 원본 이미지와 워터마크 이미지를 준비합니다. 워터마크 이미지는 원본 이미지 위에 표시될 작은 로고 또는 텍스트 등일 수 있습니다.

3. PHP 스크립트에서 원본 이미지를 로드합니다. 예를 들어, `imagecreatefromjpeg()`, `imagecreatefrompng()` 및 `imagecreatefromgif()` 함수를 사용하여 이미지를 로드할 수 있습니다.

4. 워터마크 이미지도 로드합니다. 마찬가지로 `imagecreatefromjpeg()`, `imagecreatefrompng()` 및 `imagecreatefromgif()` 함수를 사용하여 이미지를 로드합니다.

5. 원본 이미지와 동일한 크기로 워터마크 이미지를 조정합니다. `imagescale()` 또는 `imagesize()` 함수를 사용하여 크기를 조절할 수 있습니다.

6. 원본 이미지에 워터마크를 적용합니다. `imagecopy()` 또는 `imagecopymerge()` 함수를 사용하여 워터마크 이미지를 원본 이미지에 복사하고, `imagejpeg()`, `imagepng()` 또는 `imagegif()` 함수를 사용하여 새로운 이미지를 저장합니다.

다음은 예제 코드입니다:
[code]
// 원본 이미지 로드
$originalImage = imagecreatefromjpeg('원본이미지.jpg');

// 워터마크 이미지 로드
$watermarkImage = imagecreatefrompng('워터마크이미지.png');

// 워터마크 이미지 크기 조정
$watermarkWidth = imagesx($watermarkImage);
$watermarkHeight = imagesy($watermarkImage);
$resizeRatio = 0.5; // 크기 비율 조정
$newWidth = $watermarkWidth * $resizeRatio;
$newHeight = $watermarkHeight * $resizeRatio;
$resizedWatermarkImage = imagescale($watermarkImage, $newWidth, $newHeight);

// 원본 이미지에 워터마크 적용
$positionX = 20; // 워터마크 x 좌표
$positionY = 20; // 워터마크 y 좌표
imagecopymerge($originalImage, $resizedWatermarkImage, $positionX, $positionY, 0, 0, $newWidth, $newHeight, 50); // 50은 투명도

// 새로운 이미지 저장
imagejpeg($originalImage, '워터마크적용된이미지.jpg');

// 메모리에서 이미지 제거
imagedestroy($originalImage);
imagedestroy($resizedWatermarkImage);
[/code]

이 코드는 JPEG 형식의 원본 이미지에 PNG 형식의 워터마크를 추가하는 예제입니다. 필요에 따라 코드를 수정하여 사용하십시오.

|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
23-04-08 조회 2,659
23-03-31 조회 2,293
23-03-29 조회 2,702
23-03-28 조회 2,069
23-03-27 조회 2,796
JavaScript 23-02-22 조회 3,317
23-02-21 조회 2,521
23-03-10 조회 4,163
23-09-02 조회 2,455
기타 23-08-14 조회 1,644
JavaScript 23-09-04 조회 2,039
node.js 23-09-02 조회 1,642
JavaScript 23-09-01 조회 4,918
PHP 23-08-31 조회 2,135
node.js 23-08-29 조회 1,611
node.js 23-08-28 조회 2,186
PHP 23-08-27 조회 2,813
MySQL 23-08-26 조회 3,216
PHP 23-08-25 조회 3,245
JavaScript 23-08-24 조회 3,801
기타 23-08-23 조회 4,048
기타 23-08-22 조회 1,541
node.js 23-08-21 조회 2,567
JavaScript 23-08-20 조회 2,436
node.js 23-08-19 조회 3,657
node.js 23-08-18 조회 4,795
node.js 23-08-17 조회 3,421
PHP 23-08-16 조회 5,273
node.js 23-08-15 조회 3,811
PHP 23-08-14 조회 4,376