업로드하는 사진에 '워터마크'를...
도끼목수님이 예전에 올린 소스입니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=23282&sca=&sfl=wr_subject||wr_content&stx=%EC%9B%8C%ED%84%B0%EB%A7%88%ED%81%AC&sop=and
write_update.skin.php ---------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//워터마크 넣기
//png는 안됨, jpg 원본 사용해야함
//$transparency 워터마크 투명도
//$jpegQuality 화질
if ($mark == 1){ //
function waterMark($fileInHD, $wmFile, $transparency = 90, $jpegQuality = 90) {
$wmImg = imageCreateFromGIF($wmFile);
$jpegImg = imageCreateFromJPEG($fileInHD);
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), $transparency);
ImageJPEG($jpegImg, $fileInHD, $jpegQuality);
}
$data_path = G5_PATH."/data/file/$bo_table"; //서버경로임
$thumb_path = $data_path.'/thumb';
$sql=" select * from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc";
$results = sql_query($sql);
for ($i=0; $row=sql_fetch_array($results); $i++) {
$file = $data_path .'/'. $row[bf_file];
if ($_FILES[bf_file][name][$i]){
waterMark($file,$board_skin_path."/img/logo_mark.gif"); // 요거 추가됨 윈본이미지우측하단에 로고를 붙이자, gif 만 됨
}
if ($i==0 && $_FILES[bf_file][name][0]){
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file)) {
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
}
} //
?>
write.skin.php -------------
<input type="checkbox" name="mark" value="1"/> 워터마킹하기
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=23282&sca=&sfl=wr_subject||wr_content&stx=%EC%9B%8C%ED%84%B0%EB%A7%88%ED%81%AC&sop=and
write_update.skin.php ---------------
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//워터마크 넣기
//png는 안됨, jpg 원본 사용해야함
//$transparency 워터마크 투명도
//$jpegQuality 화질
if ($mark == 1){ //
function waterMark($fileInHD, $wmFile, $transparency = 90, $jpegQuality = 90) {
$wmImg = imageCreateFromGIF($wmFile);
$jpegImg = imageCreateFromJPEG($fileInHD);
$wmX=imageSX($jpegImg) - imageSX($wmImg);
$wmY=imageSY($jpegImg) - imageSY($wmImg);
imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), $transparency);
ImageJPEG($jpegImg, $fileInHD, $jpegQuality);
}
$data_path = G5_PATH."/data/file/$bo_table"; //서버경로임
$thumb_path = $data_path.'/thumb';
$sql=" select * from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no asc";
$results = sql_query($sql);
for ($i=0; $row=sql_fetch_array($results); $i++) {
$file = $data_path .'/'. $row[bf_file];
if ($_FILES[bf_file][name][$i]){
waterMark($file,$board_skin_path."/img/logo_mark.gif"); // 요거 추가됨 윈본이미지우측하단에 로고를 붙이자, gif 만 됨
}
if ($i==0 && $_FILES[bf_file][name][0]){
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file)) {
$size = getimagesize($file);
if ($size[2] == 1)
$src = imagecreatefromgif($file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($file);
else if ($size[2] == 3)
$src = imagecreatefrompng($file);
$rate = $board[bo_1] / $size[0];
$height = (int)($size[1] * $rate);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($board[bo_1], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board[bo_1], $height, $size[0], $size[1]);
imagepng($dst, $thumb_path.'/'.$wr_id, $board[bo_2]);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
}
} //
?>
write.skin.php -------------
<input type="checkbox" name="mark" value="1"/> 워터마킹하기
댓글 5개
10년 전
좋은정보 감사합니다.^^
10년 전
좋은 자료 감사합니다
10년 전
감사합니다^^
9년 전
감사합니다.
6년 전
소스대로 했는데 아무 변화가 없어요
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4443 | ||
| 2604 | 8개월 전 | 679 | ||
| 2603 | 9개월 전 | 740 | ||
| 2602 | 9개월 전 | 652 | ||
| 2601 |
|
9개월 전 | 673 | |
| 2600 |
|
9개월 전 | 583 | |
| 2599 | 9개월 전 | 811 | ||
| 2598 | 9개월 전 | 606 | ||
| 2597 |
다케미카코
|
9개월 전 | 762 | |
| 2596 | 9개월 전 | 860 | ||
| 2595 |
|
9개월 전 | 452 | |
| 2594 | 9개월 전 | 612 | ||
| 2593 |
만두먹고또먹고
|
9개월 전 | 942 | |
| 2592 | 9개월 전 | 617 | ||
| 2591 | 9개월 전 | 627 | ||
| 2590 | 9개월 전 | 693 | ||
| 2589 |
|
9개월 전 | 764 | |
| 2588 | 9개월 전 | 482 | ||
| 2587 | 9개월 전 | 802 | ||
| 2586 | 9개월 전 | 648 | ||
| 2585 | 9개월 전 | 515 | ||
| 2584 | 9개월 전 | 584 | ||
| 2583 | 9개월 전 | 504 | ||
| 2582 | 9개월 전 | 649 | ||
| 2581 | 10개월 전 | 607 | ||
| 2580 |
만두먹고또먹고
|
10개월 전 | 521 | |
| 2579 |
|
10개월 전 | 675 | |
| 2578 | 10개월 전 | 652 | ||
| 2577 | 10개월 전 | 632 | ||
| 2576 | 10개월 전 | 570 | ||
| 2575 |
이슈DEV
|
10개월 전 | 997 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기