갤러리 워터마크 질문 정보
갤러리 워터마크 질문
본문
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.
오류 주소 :
갤러리에 워터마크를 넣었습니다.
write.update.skin.php에 그런데 워터마크 찍히는 위치를 수정하고 싶은데..
어떻게 해야할지 모르겠습니다.ㅜㅜ
오류 주소 :
갤러리에 워터마크를 넣었습니다.
write.update.skin.php에 그런데 워터마크 찍히는 위치를 수정하고 싶은데..
어떻게 해야할지 모르겠습니다.ㅜㅜ
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
//========= 가로 세로 최대치로 썸네일생성. jpg파일만 워터마크 찍힘 ========
// 관리자가 해당 게시물의 작성날짜를 수정할 수 있는 소스
// write.skin.php 파일에 소스 동시삽입
if ($w == 'u' && $is_admin) {
$sql = " update $write_table set wr_datetime = '$wr_datetime'
where wr_id = '$wr_id' ";
sql_query($sql);
}
/*
if ($_FILES[bf_file][name][0]) {
$exif = @exif_read_data($_FILES[bf_file][tmp_name][0]);
if (!$exif[Make]) {
alert("EXIF 정보가 없는 이미지는 등록이 불가합니다.");
exit;
}
}
*/
//##add060613 이미지합성함수
//$transparency:투명도 $jpegQuality:화질 $margin:여백
function waterMark($fileInHD, $wmFile, $transparency = 100, $jpegQuality = 100, $margin = 30) {
$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);
}
$img_max = "100"; //목록에서 보여질 썸네일 폭 (가로 세로 최대치)
$img_quality = "100"; //목록에서 보여질 이미지의 압축률 (100 이하)
function get_size($width, $height, $max)
{
$size = Array();
if ($width <= $max && $height <= $max) {
$size[0] = $width;
$size[1] = $height;
} else {
if ($width >= $height) {
$size[0] = $max;
$size[1] = round(($size[0] * $height) / $width);
}
if ($width < $height) {
$size[1] = $max;
$size[0] = round(($width * $size[1]) / $height);
}
}
return $size;
}
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
$sql=" select * from $g4[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 ($member[mb_id]) {// 회원이라면
if ($_FILES[bf_file][name][$i]){
waterMark($file,$board_skin_path."/img/logo_mark.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);
else
break;
$large = get_size($size[0], $size[1], $img_max);
@unlink($thumb_path.'/'.$wr_id);
$dst = imagecreatetruecolor($large[0], $large[1]);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $large[0], $large[1], $size[0], $size[1]);
imagejpeg($dst, $thumb_path.'/'.$wr_id, $img_quality);
chmod($thumb_path.'/'.$wr_id, 0606);
}
}
}
?>
댓글 전체