답변 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 코드 예시:
</p>
<p><?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;</p>
<p> $resizedWatermarkImage = imagescale($watermarkImage, $newWidth, $newHeight);</p>
<p> $positionX = imagesx($originalImage) - $newWidth - 10;
$positionY = imagesy($originalImage) - $newHeight - 10;
imagecopymerge($originalImage, $resizedWatermarkImage, $positionX, $positionY, 0, 0, $newWidth, $newHeight, 50);</p>
<p> imagejpeg($originalImage, $outputPath);</p>
<p> imagedestroy($originalImage);
imagedestroy($resizedWatermarkImage);
}
?></p>
<p>
*bbs/write.php에서 적용 예시:
</p>
<p><?php
include_once('../lib/image_util.php');</p>
<p>$originalImagePath = $_FILES['image']['tmp_name'];
$watermarkImagePath = '../img/watermark.png';
$outputPath = '../uploads/' . $_FILES['image']['name'];</p>
<p>addWatermark($originalImagePath, $watermarkImagePath, $outputPath);
?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인