갤러리 워터마크 질문 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

갤러리 워터마크 질문 정보

갤러리 워터마크 질문

본문

오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

갤러리에 워터마크를  넣었습니다.

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);
    }
}
    }
?>
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로