첨부파일 워터마크 넣기
시간이 많이 없어서 영카트는 아직 확인하지 못했군요..
http://sir.co.kr/bbs/board.php?bo_table=g5_tip&wr_id=2297
에서 image_proc.function.php 소스 복사하시면 됩니다.
이건 첨부파일 용이라 에디터는 적용안됩니다!!
[code]
//워터마크 체크할 파일 인클루드
include_once(G5_LIB_PATH.'/image_proc.function.php');
$sql_data = "select * from g5_board_file where bo_table = '$bo_table' and wr_id = '$wr_id' ";
$res_data = mysql_query($sql_data);
while ($row_data = mysql_fetch_array($res_data)) {
$exp = $row_data[bf_file];//원본파일
$exp_img = explode(".",$exp);
//확장자가 이미지 일때만
if ($exp_img[1] == "jpg" or $exp_img[1] == "png" or $exp_img[1] == "gif" or $exp_img[1] == "jpeg" or $exp_img[1] == "JPG" or $exp_img[1] == "PNG" or $exp_img[1] == "GIF" or $exp_img[1] == "JPEG") {
$path_file = G5_PATH.'/data/file/'.$bo_table."/".$row_data[bf_file];
$path_mark_file = G5_PATH.'/img/wtm.gif';//워터마크에 사용할 파일
$path_save_top_right_file = G5_PATH.'/data/file/'.$bo_table."/".$row_data[bf_file]; //워터마크 처리한 것을 원본에 덮어씌움
//원본의 이미지 리소스를 받아온다.
list($src, $src_w, $src_h) = get_image_resource_from_file ($path_file);
if (empty($src)) die($GLOBALS['errormsg'] . "<br />\n");
//워터마크에 사용될 이미지 리소스를 받아온다.
list($mark, $mark_w, $mark_h) = get_image_resource_from_file ($path_mark_file);
if (empty($mark)) die($GLOBALS['errormsg'] . "<br />\n");
//원본을 5 분의 1로 축소한 너비와 높이를 구한다.
$src_w_small = $src_w; //리사이징 제거함
$src_h_small = get_size_by_rule($src_w, $src_h, $src_w_small);
//원본의 상단 오른쪽을 기준으로 선명도 100으로 워터마크 처리
if ($src_w > 200) { //width가 200 이하인 이미지는 워터마크 처리안함
$src2 = get_image_resize($src, $src_w, $src_h, $src_w_small, $src_h_small);
if (empty($src2)) die($GLOBALS['errormsg'] . "<br />\n");
$src2_x = $src_w_small - $mark_w;
$src2_y = 0;
//padding 을 10px 씩 줘야 하므로 x좌표는 왼쪽으로 10 이동 y좌표는 아래로 10 이동
$src2_x -= 10;
$src2_y += 10;
//워터마크는 투명도 50으로 설정
$result_watermark = imagecopymerge($src2, $mark, $src2_x, $src2_y, 0, 0, $mark_w, $mark_h, 50);
if ($result_watermark === false) die("워터마크 처리에 실패하였습니다.<br />\n");
$result_save = save_image_from_resource ($src2, $path_save_top_right_file, 100, 2);//저장
if ($result_save === false) die($GLOBALS['errormsg'] . "<br />\n");
@imagedestroy($src2);
}
} // if
}
[/code]
http://sir.co.kr/bbs/board.php?bo_table=g5_tip&wr_id=2297
에서 image_proc.function.php 소스 복사하시면 됩니다.
이건 첨부파일 용이라 에디터는 적용안됩니다!!
[code]
//워터마크 체크할 파일 인클루드
include_once(G5_LIB_PATH.'/image_proc.function.php');
$sql_data = "select * from g5_board_file where bo_table = '$bo_table' and wr_id = '$wr_id' ";
$res_data = mysql_query($sql_data);
while ($row_data = mysql_fetch_array($res_data)) {
$exp = $row_data[bf_file];//원본파일
$exp_img = explode(".",$exp);
//확장자가 이미지 일때만
if ($exp_img[1] == "jpg" or $exp_img[1] == "png" or $exp_img[1] == "gif" or $exp_img[1] == "jpeg" or $exp_img[1] == "JPG" or $exp_img[1] == "PNG" or $exp_img[1] == "GIF" or $exp_img[1] == "JPEG") {
$path_file = G5_PATH.'/data/file/'.$bo_table."/".$row_data[bf_file];
$path_mark_file = G5_PATH.'/img/wtm.gif';//워터마크에 사용할 파일
$path_save_top_right_file = G5_PATH.'/data/file/'.$bo_table."/".$row_data[bf_file]; //워터마크 처리한 것을 원본에 덮어씌움
//원본의 이미지 리소스를 받아온다.
list($src, $src_w, $src_h) = get_image_resource_from_file ($path_file);
if (empty($src)) die($GLOBALS['errormsg'] . "<br />\n");
//워터마크에 사용될 이미지 리소스를 받아온다.
list($mark, $mark_w, $mark_h) = get_image_resource_from_file ($path_mark_file);
if (empty($mark)) die($GLOBALS['errormsg'] . "<br />\n");
//원본을 5 분의 1로 축소한 너비와 높이를 구한다.
$src_w_small = $src_w; //리사이징 제거함
$src_h_small = get_size_by_rule($src_w, $src_h, $src_w_small);
//원본의 상단 오른쪽을 기준으로 선명도 100으로 워터마크 처리
if ($src_w > 200) { //width가 200 이하인 이미지는 워터마크 처리안함
$src2 = get_image_resize($src, $src_w, $src_h, $src_w_small, $src_h_small);
if (empty($src2)) die($GLOBALS['errormsg'] . "<br />\n");
$src2_x = $src_w_small - $mark_w;
$src2_y = 0;
//padding 을 10px 씩 줘야 하므로 x좌표는 왼쪽으로 10 이동 y좌표는 아래로 10 이동
$src2_x -= 10;
$src2_y += 10;
//워터마크는 투명도 50으로 설정
$result_watermark = imagecopymerge($src2, $mark, $src2_x, $src2_y, 0, 0, $mark_w, $mark_h, 50);
if ($result_watermark === false) die("워터마크 처리에 실패하였습니다.<br />\n");
$result_save = save_image_from_resource ($src2, $path_save_top_right_file, 100, 2);//저장
if ($result_save === false) die($GLOBALS['errormsg'] . "<br />\n");
@imagedestroy($src2);
}
} // if
}
[/code]
댓글 9개
10년 전
좋은 자료 감사합니다. ^^
10년 전
도움이 되셨으면 좋겠네요~
10년 전
고맙습니다.
공유를 지향하기 때문에 워터마크를 넣을 생각은 없지만... 한번 시험 삼아 적용해 보고 싶군요.
공유를 지향하기 때문에 워터마크를 넣을 생각은 없지만... 한번 시험 삼아 적용해 보고 싶군요.
10년 전
저도 공유를 지향하지만 고객의 요청은 어쩔수가없군요 ㅡ.,ㅡㅋ
10년 전
너무 유용한 정보네요...^^
10년 전
찾아보기 어려울 만큼 귀중한 정보입니다. 고맙습니다.
jionelove
8년 전
너무 좋아요. 감사합니다.
7년 전
우측 하단에 워터마크가 나타났으면 하는데 어떻게 수정 해야 하나요?
3년 전
혹시 에디터랑 밑에 첨부파일이랑 같이 적용은 안되나요????
그리고 저만 첨부파일 적용 소스 넣으면 안되나요???
그리고 저만 첨부파일 적용 소스 넣으면 안되나요???
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2695 | 1개월 전 | 170 | ||
| 2694 | 1개월 전 | 132 | ||
| 2693 | 1개월 전 | 143 | ||
| 2692 | 1개월 전 | 157 | ||
| 2691 | 1개월 전 | 311 | ||
| 2690 | 1개월 전 | 217 | ||
| 2689 |
|
1개월 전 | 423 | |
| 2688 | 1개월 전 | 275 | ||
| 2687 |
선택과집중
|
1개월 전 | 312 | |
| 2686 | 1개월 전 | 275 | ||
| 2685 | 1개월 전 | 329 | ||
| 2684 | 2개월 전 | 462 | ||
| 2683 | 2개월 전 | 261 | ||
| 2682 | 2개월 전 | 287 | ||
| 2681 |
선택과집중
|
2개월 전 | 263 | |
| 2680 | 2개월 전 | 312 | ||
| 2679 |
|
2개월 전 | 417 | |
| 2678 |
|
2개월 전 | 487 | |
| 2677 | 2개월 전 | 311 | ||
| 2676 | 2개월 전 | 287 | ||
| 2675 |
선택과집중
|
2개월 전 | 464 | |
| 2674 |
|
2개월 전 | 309 | |
| 2673 | 2개월 전 | 322 | ||
| 2672 | 2개월 전 | 272 | ||
| 2671 | 2개월 전 | 244 | ||
| 2670 | 2개월 전 | 356 | ||
| 2669 | 2개월 전 | 274 | ||
| 2668 |
선택과집중
|
2개월 전 | 470 | |
| 2667 |
선택과집중
|
2개월 전 | 455 | |
| 2666 |
선택과집중
|
3개월 전 | 388 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기