테스트 사이트 - 개발 중인 베타 버전입니다

워터마크 적용

SiheonLee 10개월 전 조회 2,854

옛날에 어찌어찌 워터마크를 사이트에 적용했었는데

지금 리뉴얼 하고 나서 어떻게 했는지 다 까먹었네요..

다시 자료 찾아보니까 몇시간 동안 찾아도 옛날에 그 자료가 나오지 않는데

커피 한잔에 워터마크 기능 추가좀 도와줄 분 계실까요..?

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

답변 3개

glitter0gim
9개월 전

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>

로그인 후 평가할 수 있습니다

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

R
10개월 전
로그인 후 평가할 수 있습니다

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

웅푸
10개월 전

https://tonhnegod.tistory.com/249

 

참고로 난 워터마크이미지 디비로저장을 해놓고 그것을호출을하여 css로 그냥 처리해버리는게 속편하더라구요  ㅎㅎ

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인