GD 라이브러리 체크
<?php
// GD 라이브러리가 설치되어 있는지 확인
if (!extension_loaded('gd')) {
// GD 라이브러리가 없는 경우 설치 요청 또는 알맞은 방법으로 GD 라이브러리를 설치해야 합니다.
die('GD 라이브러리가 설치되어 있지 않습니다.');
}
?>
파일 경로 지정
<?php
$imagePath = 'path/to/image.jpg'; // 원본 이미지 파일의 경로
$watermarkPath = 'path/to/watermark.png'; // 워터마크 이미지 파일의 경로
?>
이미지 로드
<?php
$image = imagecreatefromjpeg($imagePath); // JPEG 파일인 경우 imagecreatefromjpeg() 함수를 사용
$watermark = imagecreatefrompng($watermarkPath); // PNG 파일인 경우 imagecreatefrompng() 함수를 사용
?>
워터마크 크기 조정
?php
$watermarkWidth = imagesx($watermark); // 워터마크 이미지의 너비
$watermarkHeight = imagesy($watermark); // 워터마크 이미지의 높이
// 워터마크의 크기를 조정합니다. 예를 들어, 원본 이미지의 너비의 20%로 조정할 수 있습니다.
$newWidth = imagesx($image) * 0.2; // 원본 이미지의 너비의 20%
$newHeight = $watermarkHeight * ($newWidth / $watermarkWidth);
// 이미지 크기 조정
$resizedWatermark = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($resizedWatermark, $watermark, 0, 0, 0, 0, $newWidth, $newHeight, $watermarkWidth, $watermarkHeight);
?>
워터마크 적용
<?php
// 워터마크를 적용할 위치를 설정합니다. 예를 들어, 원본 이미지의 오른쪽 하단에 워터마크를 추가할 수 있습니다.
$marginRight = 10; // 오른쪽 여백
$marginBottom = 10; // 하단 여백
// 워터마크가 적용될 위치 계산
$x = imagesx($image) - $newWidth - $marginRight;
$y = imagesy($image) - $newHeight - $marginBottom;
// 워터마크를 원본 이미지에 추가
imagecopy($image, $resizedWatermark, $x, $y, 0, 0, $newWidth, $newHeight);
?>
새로운 이미지 저장
<?php
imagejpeg($image, $imagePath); // 이미지를 JPEG 파일로 저장하려는 경우 imagejpeg() 함수를 사용
imagedestroy($image); // 메모리에서 이미지 객체 해제
imagedestroy($resizedWatermark); // 메모리에서 워터마크 이미지 객체 해제
?>
'[ Web 관련 ] > php' 카테고리의 다른 글
php 변수에 변수 값을 적용하는 방법 (1) | 2023.11.20 |
---|---|
.htaccess 설정. https 강제 적용, 페이지 또는 파일이 없다면 메인으로 이동 (1) | 2023.10.30 |
구글 웹페이지 번역 API (예전 건 안되서..) (0) | 2023.06.23 |
php 상수 선언 (define, const) (0) | 2023.06.12 |
php 캐시 항상 삭제 하기 (0) | 2023.06.02 |