g4를 g5로 변환

g4를 g5로 변환

QA

SIR 제작의뢰 - 견적무료/익명보정/호스팅, DB 이전/단기개발. 이젠 ' 의뢰인'이 원하는 '제작자'에게만 연락처를 알릴 수 있습니다.

g4를 g5로 변환

본문

아래는 그누보드4에서 사용되는 다중이미지 게시판 일부 입니다. 그누보드5에서 사용하려고 g4를 g5로 변환하는데 안되네요.
좌측에 큰이미지가 있고 우측에 작은 섬네일이 있어서 섬네일에 마우스 올리면 좌측에 큰 이미지가 바뀌는 다중 이미지 갤러리 게시판입니다.(좌측의 큰이미지는 보이는데 우측의 섬네일이 안보이네요. 경로 관련 함수 같은데...)
고수님들의 도움 부탁드립니다.


<?

function UnsharpMask($img, $amount, $radius, $threshold) {



// Attempt to calibrate the parameters to Photoshop:
if ($amount > 500) $amount = 500;
$amount = $amount * 0.016;
if ($radius > 50) $radius = 50;
$radius = $radius * 2;
if ($threshold > 255) $threshold = 255;

$radius = abs(round($radius)); // Only integers make sense.
if ($radius == 0) { return $img; imagedestroy($img); break; }
$w = imagesx($img); $h = imagesy($img);
$imgCanvas = $img;
$imgCanvas2 = $img;
$imgBlur = imagecreatetruecolor($w, $h);

// Gaussian blur matrix:
// 1 2 1
// 2 4 2
// 1 2 1

// Move copies of the image around one pixel at the time and merge them with weight
// according to the matrix. The same matrix is simply repeated for higher radii.
for ($i = 0; $i < $radius; $i++)
{
imagecopy   ($imgBlur, $imgCanvas, 0, 0, 1, 1, $w - 1, $h - 1); // up left
imagecopymerge ($imgBlur, $imgCanvas, 1, 1, 0, 0, $w, $h, 50); // down right
imagecopymerge ($imgBlur, $imgCanvas, 0, 1, 1, 0, $w - 1, $h, 33.33333); // down left
imagecopymerge ($imgBlur, $imgCanvas, 1, 0, 0, 1, $w, $h - 1, 25); // up right
imagecopymerge ($imgBlur, $imgCanvas, 0, 0, 1, 0, $w - 1, $h, 33.33333); // left
imagecopymerge ($imgBlur, $imgCanvas, 1, 0, 0, 0, $w, $h, 25); // right
imagecopymerge ($imgBlur, $imgCanvas, 0, 0, 0, 1, $w, $h - 1, 20 ); // up
imagecopymerge ($imgBlur, $imgCanvas, 0, 1, 0, 0, $w, $h, 16.666667); // down
imagecopymerge ($imgBlur, $imgCanvas, 0, 0, 0, 0, $w, $h, 50); // center
}
$imgCanvas = $imgBlur;

// Calculate the difference between the blurred pixels and the original
// and set the pixels
for ($x = 0; $x < $w; $x++)
{ // each row
for ($y = 0; $y < $h; $y++)
{ // each pixel
$rgbOrig = ImageColorAt($imgCanvas2, $x, $y);
$rOrig = (($rgbOrig >> 16) & 0xFF);
$gOrig = (($rgbOrig >> 8) & 0xFF);
$bOrig = ($rgbOrig & 0xFF);
$rgbBlur = ImageColorAt($imgCanvas, $x, $y);
$rBlur = (($rgbBlur >> 16) & 0xFF);
$gBlur = (($rgbBlur >> 8) & 0xFF);
$bBlur = ($rgbBlur & 0xFF);

// When the masked pixels differ less from the original
// than the threshold specifies, they are set to their original value.
$rNew = (abs($rOrig - $rBlur) >= $threshold) ? max(0, min(255, ($amount * ($rOrig - $rBlur)) + $rOrig)) : $rOrig;
$gNew = (abs($gOrig - $gBlur) >= $threshold) ? max(0, min(255, ($amount * ($gOrig - $gBlur)) + $gOrig)) : $gOrig;
$bNew = (abs($bOrig - $bBlur) >= $threshold) ? max(0, min(255, ($amount * ($bOrig - $bBlur)) + $bOrig)) : $bOrig;

if (($rOrig != $rNew) || ($gOrig != $gNew) || ($bOrig != $bNew))
{
$pixCol = ImageColorAllocate($img, $rNew, $gNew, $bNew);
ImageSetPixel($img, $x, $y, $pixCol);
}
}
}
return $img;
}

?>
<?
//썸네일 코드 시작
$data_path = G5_DATA_URL . "/file/{$bo_table}";//라이브러리 파일 참조
$thumb_path = $data_path . "/thumbOpen";
$thumb_path2 = $data_path . "/thumbOpen2";
?>



<SCRIPT LANGUAGE='JavaScript'>
// 이미지뷰어
<!--
var win= null;
function View_Open(img, w, h)
{
var winl = (screen.width-w)/2;
var wint = (screen.height-h)/3;
var settings  ='height='+h+',';
settings +='width='+w+',';
settings +='top='+wint+',';
settings +='left='+winl+',';
settings +='scrollbars=yes,';
settings +='resizable=yes,';
settings +='status=no';

win=window.open("","newWindow",settings);
win.document.open();
win.document.write ("<html><head><title>원본 이미지 보기</title></head>");
win.document.write ("<script>function init(){window.resizeBy(document.all.pop_img.width-document.body.clientWidth, document.all.pop_img.height-document.body.clientHeight+10);}</script>");
win.document.write ("<body bgcolor=white topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 oncontextmenu='return false' ondragstart='return false' onkeydown='return false' onselectstart='return false' onload='init();'>");
win.document.write ("<img src='"+img+"' border=0 onclick='window.close();' style='cursor:hand' title='클릭하면 닫혀요' id='pop_img'>");
win.document.write ("</body></html>");
win.document.close();
}
//-->
</SCRIPT>

<SCRIPT LANGUAGE="JavaScript">
<!--
image_directory = "";  //배경이미지 경로
clear = new Image();  clear.src = image_directory + "./img/blank.gif";
<?
//파일 뽑기
$sql2 = " select bf_file from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no limit 0, 12 ";
$result2 = sql_query($sql2);
for ($j=0; $row2 = sql_fetch_array($result2); $j++) {
if($j==0) $view_one = "{$thumb_path2}/{$row2['bf_file']}";
}
?>


//  -->
</SCRIPT>

<table cellspacing="0" cellpadding="0" border="0" align="left">

<tr>


<td  style="padding:4 0 10 0px;border:1px solid #D4DBE1;" width="540" height="400" align="center" valign="top" bgcolor=white>
  <div style='width:540px;position:relative; overflow:hidden;' align="center" id="loadarea"><img src="<?=$view_one?>"  border="0"></div>
</td>
<td width="10"></td>


<td style="padding:4 0 10 0px;border:1px solid #D4DBE1;" width="160" height="450" align="center" valign="top">
<!--작은사진목록-->
<table border="0" cellpadding="0" cellspacing="0" width="100%" valign='top'>
<tr>
<td style="border:solid 1px #D3D3D3; background-color:#E5E5E5; height:385px;" valign='top'>
<table border="0" cellpadding="0" cellspacing="0">

<tr>

<?
//파일 뽑기
$sql = " select bf_file, bf_source from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$wr_id' order by bf_no limit 0, 12 ";
//$sql = " select bf_file, bf_source from $g5[board_file_table] where bo_table = '$bo_table' order by bf_no limit 0, 12 ";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {


if($i != 0 && $i % 2 == 0) echo "</tr><tr>";

$view_w = 540; //썸네일 가로사이즈
$view_h = 400; //썸네일 세로사이즈
$sch_q = 100; //썸네일 퀼리티

if (!is_dir($thumb_path2)) {
@mkdir($thumb_path2, 0707);
@chmod($thumb_path2, 0707);

}

if (!is_dir($thumb_path)) {
@mkdir($thumb_path, 0707);
@chmod($thumb_path, 0707);

}

$filename = $row[bf_file]; //파일명
$thumb2 = $thumb_path2.'/'.$filename; //썸네일

if (!file_exists($thumb2)) { //view 용 이미지 생성

$file = $data_path.'/'.$filename; //원본
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($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
continue;

$rate = $view_h / $size[1];
//$width = (int)($size[0] * $rate);
$width = 540; //가로 사이즈 고정

//echo "rate : $rate ,width : $width, $height : $board[bo_2] <br>";
if($width <= $view_w) { //width가 지정된 사이즈보다 작을경우 rate 비율로 썸네일 생성
$dst = imagecreatetruecolor($width, $view_h);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $view_h, $size[0], $size[1]);
imagejpeg($dst, $thumb_path2.'/'.$filename, $sch_q);

} else {
$rate = $view_w / $size[0];
$height = (int)($size[1] * $rate);

$dst = imagecreatetruecolor($view_w, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $view_w, $height, $size[0], $size[1]);
imagejpeg($dst, $thumb_path2.'/'.$filename, $sch_q);

}
chmod($thumb_path2.'/'.$filename, 0707);
}

}

$view_w = 88; //썸네일 가로사이즈
$view_h = 66; //썸네일 세로사이즈
$thumb = $thumb_path.'/'.$filename; //썸네일
if (!file_exists($thumb)) { //기본 썸네일

$file = $data_path.'/'.$filename; //원본
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($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
continue;

$rate = $view_h / $size[1];
//$width = (int)($size[0] * $rate);
$width = 88; //사이즈를고정한다.

//echo "rate : $rate ,width : $width, $height : $board[bo_2] <br>";
if($width <= $view_w) { //width가 지정된 사이즈보다 작을경우 rate 비율로 썸네일 생성
$dst = imagecreatetruecolor($width, $view_h);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $view_h, $size[0], $size[1]);
$dst = UnsharpMask($dst, 80, 0.5, 3);
imagejpeg($dst, $thumb_path.'/'.$filename, $sch_q);

} else {
$rate = $view_w / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($view_w, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $view_w, $height, $size[0], $size[1]);
$dst = UnsharpMask($dst, 80, 0.5, 3);
imagejpeg($dst, $thumb_path.'/'.$filename, $sch_q);

}
chmod($thumb_path.'/'.$filename, 0707);
}

}

if (file_exists($thumb) && $filename) {
?>

  <td style="border:solid 1px #D0D0D0;height:66px;width:88px;">
<a rel="enlargeimage::mouseover" rev="loadarea" href="<?=$thumb_path2?>/<?=$filename?>"><img src="<?=$thumb?>" style="border-width:0px;" /></a>
  </td>


<?
//onMouseOut="bgChange('clear');"
}
}
?>
</table>
</td>
</tr>
</table>
<!--작은사진목록-->
</td>
</tr>
  </table>
  <!--사진테이블-->
이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기 이 글을 내 구글플러스 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

톰소여z님의 답변

코드만 보고서 적용하지마시구여

g4_import.php 로 전체적으로 변환하거나 해당 스킨만 변환하세여

주소복사
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 51,608 | RSS
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중인 포인트경매

  1. 포인트경매 재오픈 이벤트 (14)

    참여19 회 시작17.09.19 15:21 종료17.09.20 15:21

(주)에스아이알소프트 (06253) 서울 강남구 강남대로 310, 1312호 (역삼동, 유니온센터) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT