워터마크 적용
본문
옛날에 어찌어찌 워터마크를 사이트에 적용했었는데
지금 리뉴얼 하고 나서 어떻게 했는지 다 까먹었네요..
다시 자료 찾아보니까 몇시간 동안 찾아도 옛날에 그 자료가 나오지 않는데
커피 한잔에 워터마크 기능 추가좀 도와줄 분 계실까요..?
답변 3
PHP 워터마크 코드를 그누보드 구조에 적용하려면,
이미지를 처리하고 저장하는 역할을 하는 별도의 유틸리티 파일을 만들고
예로, lib 폴더에 image_util.php라는 파일을 생성하고 워터마크 처리 코드를 추가.
이렇게 하면, 게시판 게시물 저장이나 이미지 업로드 처리 시
이 유틸리티 파일을 호출하여 워터마크를 적용하도록 구현할 수 있습니다.
※ 적용 방안 예시 ※
*유틸리티 파일 생성: lib/image_util.php 파일을 생성.
*워터마크 함수 추가: 원본 이미지를 받아 워터마크를 추가하는 함수를 작성.
*게시판 연동: bbs/write.php 파일에서 이미지를 업로드할 때
image_util.php를 포함하여 워터마크 적용 기능을 호출.
lib/
└── image_util.php # 워터마크 유틸리티 파일
bbs/
└── write.php # 게시글 작성 및 이미지 업로드 파일
*lib/image_util.php 코드 예시:
<?php
function addWatermark($originalImagePath, $watermarkImagePath, $outputPath) {
$originalImage = imagecreatefromjpeg($originalImagePath);
$watermarkImage = imagecreatefrompng($watermarkImagePath);
$watermarkWidth = imagesx($watermarkImage);
$watermarkHeight = imagesy($watermarkImage);
$resizeRatio = 0.5;
$newWidth = $watermarkWidth * $resizeRatio;
$newHeight = $watermarkHeight * $resizeRatio;
$resizedWatermarkImage = imagescale($watermarkImage, $newWidth, $newHeight);
$positionX = imagesx($originalImage) - $newWidth - 10;
$positionY = imagesy($originalImage) - $newHeight - 10;
imagecopymerge($originalImage, $resizedWatermarkImage, $positionX, $positionY, 0, 0, $newWidth, $newHeight, 50);
imagejpeg($originalImage, $outputPath);
imagedestroy($originalImage);
imagedestroy($resizedWatermarkImage);
}
?>
<?php
include_once('../lib/image_util.php');
$originalImagePath = $_FILES['image']['tmp_name'];
$watermarkImagePath = '../img/watermark.png';
$outputPath = '../uploads/' . $_FILES['image']['name'];
addWatermark($originalImagePath, $watermarkImagePath, $outputPath);
?>
답변을 작성하시기 전에 로그인 해주세요.