이미지 리사이징은 되는데 클릭하면 크게보이네요?? > 그누4 질문답변

그누4 질문답변

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

이미지 리사이징은 되는데 클릭하면 크게보이네요?? 정보

이미지 리사이징은 되는데 클릭하면 크게보이네요??

본문

 
적용은 되서 실제로 저장해보면 사이즈는 변경되어 있습니다.
 
문제는.. 테스트 페이지 보시면 아시겠지만
 
테이블 가로이미지 사이즈는 600으로 되있고..
 
실제 업로드한 이미지는 1522 픽셀인데...
 
뷰페이지에서 이미지는 클릭하면 처음에 올린 원본 사이즈크기로 창이 뜹니다...
 
한마디로 600으로 리사이즈 된 이미지가 1522픽셀로 뜨는거지요...
 
이게 어떻게 된 일인지.. 혹시 아시는 분 계신가요?
 
아래는 제 common.js 중 이미지 뷰 부분입니다.
 
아래에서 뭔가를 바꿔줘야할 것 같은데.. 통 모르겠네요..
 
 
    // 이미지의 크기에 따라 새창의 크기가 변경됩니다.
    // zzzz님께서 알려주셨습니다. 2005/04/12
    function image_window(img)
    {
        var w = img.tmp_width;
        var h = img.tmp_height;
        var winl = (screen.width-w)/2;
        var wint = (screen.height-h)/3;
        if (w >= screen.width) {
            winl = 0;
            h = (parseInt)(w * (h / w));
        }
        if (h >= screen.height) {
            wint = 0;
            w = (parseInt)(h * (w / h));
        }
        var js_url = "<script language='JavaScript1.2'> \n";
            js_url += "<!-- \n";
            js_url += "var ie=document.all; \n";
            js_url += "var nn6=document.getElementById&&!document.all; \n";
            js_url += "var isdrag=false; \n";
            js_url += "var x,y; \n";
            js_url += "var dobj; \n";
            js_url += "function movemouse(e) \n";
            js_url += "{ \n";
            js_url += "  if (isdrag) \n";
            js_url += "  { \n";
            js_url += "    dobj.style.left = nn6 ? tx + e.clientX - x : tx + event.clientX - x; \n";
            js_url += "    dobj.style.top  = nn6 ? ty + e.clientY - y : ty + event.clientY - y; \n";
            js_url += "    return false; \n";
            js_url += "  } \n";
            js_url += "} \n";
            js_url += "function selectmouse(e) \n";
            js_url += "{ \n";
            js_url += "  var fobj      = nn6 ? e.target : event.srcElement; \n";
            js_url += "  var topelement = nn6 ? 'HTML' : 'BODY'; \n";
            js_url += "  while (fobj.tagName != topelement && fobj.className != 'dragme') \n";
            js_url += "  { \n";
            js_url += "    fobj = nn6 ? fobj.parentNode : fobj.parentElement; \n";
            js_url += "  } \n";
            js_url += "  if (fobj.className=='dragme') \n";
            js_url += "  { \n";
            js_url += "    isdrag = true; \n";
            js_url += "    dobj = fobj; \n";
            js_url += "    tx = parseInt(dobj.style.left+0); \n";
            js_url += "    ty = parseInt(dobj.style.top+0); \n";
            js_url += "    x = nn6 ? e.clientX : event.clientX; \n";
            js_url += "    y = nn6 ? e.clientY : event.clientY; \n";
            js_url += "    document.onmousemove=movemouse; \n";
            js_url += "    return false; \n";
            js_url += "  } \n";
            js_url += "} \n";
            js_url += "document.onmousedown=selectmouse; \n";
            js_url += "document.onmouseup=new Function('isdrag=false'); \n";
            js_url += "//--> \n";
            js_url += "</"+"script> \n";
        var settings;
        if (g4_is_gecko) {
            settings  ='width='+(w+10)+',';
            settings +='height='+(h+10)+',';
        } else {
            settings  ='width='+w+',';
            settings +='height='+h+',';
        }
        settings +='top='+wint+',';
        settings +='left='+winl+',';
        settings +='scrollbars=no,';
        settings +='resizable=yes,';
        settings +='status=no';

        win=window.open("","image_window",settings);
        win.document.open();
        win.document.write ("<html><head> \n<meta http-equiv='imagetoolbar' CONTENT='no'> \n<meta http-equiv='content-type' content='text/html; charset="+g4_charset+"'>\n");
        var size = "이미지 사이즈 : "+w+" x "+h;
        win.document.write ("<title>"+size+"</title> \n");
        if(w >= screen.width || h >= screen.height) {
            win.document.write (js_url);
            var click = "ondblclick='window.close();' style='cursor:move' title=' "+size+" \n\n 이미지 사이즈가 화면보다 큽니다. \n 왼쪽 버튼을 클릭한 후 마우스를 움직여서 보세요. \n\n 더블 클릭하면 닫혀요. '";
        }
        else
            var click = "onclick='window.close();' style='cursor:pointer' title=' "+size+" \n\n 클릭하면 닫혀요. '";
        win.document.write ("<style>.dragme{position:relative;}</style> \n");
        win.document.write ("</head> \n\n");
        win.document.write ("<body leftmargin=0 topmargin=0 bgcolor=#dddddd style='cursor:arrow;'> \n");
        win.document.write ("<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td align=center valign=middle><img src='"+img.src+"' width='"+w+"' height='"+h+"' border=0 class='dragme' "+click+"></td></tr></table>");
        win.document.write ("</body></html>");
        win.document.close();
        if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
    }

댓글 전체

질문은 지극지 정상적으로 잘 작동하는 것이 맞고요.

lib/common.lib.php 에서

// 파일을 보이게 하는 링크 (이미지, 플래쉬, 동영상)
function view_file_link($file, $width, $height, $content="")
{
    global $config, $board;
    global $g4;
    static $ids;

    if (!$file) return;

    $ids++;

    // 파일의 폭이 게시판설정의 이미지폭 보다 크다면 게시판설정 폭으로 맞추고 비율에 따라 높이를 계산
    if ($width > $board[bo_image_width] && $board[bo_image_width])
    {
        $rate = $board[bo_image_width] / $width;
        $width = $board[bo_image_width];
        $height = (int)($height * $rate);
    }

    // 폭이 있는 경우 폭과 높이의 속성을 주고, 없으면 자동 계산되도록 코드를 만들지 않는다.
    if ($width)
        $attr = " width='$width' height='$height' ";
    else
        $attr = "";

    if (preg_match("/\.($config[cf_image_extension])$/i", $file))
        // 이미지에 속성을 주지 않는 이유는 이미지 클릭시 원본 이미지를 보여주기 위한것임
        // 게시판설정 이미지보다 크다면 스킨의 자바스크립트에서 이미지를 줄여준다
        return "<img src='$g4[path]/data/file/$board[bo_table]/".urlencode($file)."' name='target_resize_image[]' style='cursor:pointer;' title='$content'>";
 
이렇게 고쳐보세요.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT