PHP 이미지에 워터마크 넣기
PHP 이미지에 워터마크 넣기
돌아다니는 워터마크 소스 이쁘게 다듬어보았습니다.
사용방법은 <img src="./watermark.php?path=원본이미지경로"> 이렇게 하시면 됩니다.
그리고 워터마크를 삽입해서 저장하는 방법은
imagejpeg($image, '새로저장할경로');
퀄리티를 조절하려면
imagejpeg($image, '새로저장할경로', 80);
watermark.php 소스
<?php
$ALIGN_CENTER = false;
$IMAGE_PATH = $_GET['path'];
$WATERMARK_PATH = './watermark.png';
$IMAGE_TYPE = strtolower(substr($IMAGE_PATH, strlen($IMAGE_PATH)-4, 4));
$WATERMARK_TYPE = strtolower(substr($WATERMARK_PATH, strlen($WATERMARK_PATH)-4, 4));
if($IMAGE_TYPE == '.bmp') $image = imagecreatefromwbmp($IMAGE_PATH);
if($IMAGE_TYPE == '.gif') $image = imagecreatefromgif($IMAGE_PATH);
if($IMAGE_TYPE == '.jpg') $image = imagecreatefromjpeg($IMAGE_PATH);
if($IMAGE_TYPE == '.png') $image = imagecreatefrompng($IMAGE_PATH);
if($image) {
if($WATERMARK_TYPE == '.bmp') $watermark = imagecreatefromwbmp($WATERMARK_PATH);
if($WATERMARK_TYPE == '.gif') $watermark = imagecreatefromgif($WATERMARK_PATH);
if($WATERMARK_TYPE == '.jpg') $watermark = imagecreatefromjpeg($WATERMARK_PATH);
if($WATERMARK_TYPE == '.png') $watermark = imagecreatefrompng($WATERMARK_PATH);
if($watermark) {
list($IMAGE_W, $IMAGE_H) = getimagesize($IMAGE_PATH);
list($WATERMARK_W, $WATERMARK_H) = getimagesize($WATERMARK_PATH);
if($ALIGN_CENTER) { // Center
$POS_X = (($IMAGE_W - $WATERMARK_W)/2);
$POS_Y = (($IMAGE_H - $WATERMARK_H)/2);
}
else {
$POS_X = ($IMAGE_W - $WATERMARK_W);
$POS_Y = ($IMAGE_H - $WATERMARK_H);
}
imagealphablending($image, true);
imagecopy($image, $watermark, $POS_X, $POS_Y, 0, 0, $WATERMARK_W, $WATERMARK_H);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
}
}
?>