[영카트]제품 리사이징 width기준으로 height 자유롭게
------------------------------------------- lib 소스 ---------------------------------------------
상품 이미지를 등록하게 되면,
쇼핑몰 설정페이지에서 지정한 썸네일 크기
소(120x120) 중(240x240) 등~ 그렇게 지정된 크기대로 가로세로가 fix되어서
썸네일이 생성됩니다.
일반 사진이 정사각형은 별로 없지요. 직사각형일텐데
그 비율에 맞게끔 썸네일을 생성하게 하는 방법입니다.
영카트/adm/shop_admin/itemformupdate.php
파일을 보시면,
// 이미지(대)만 업로드하고 자동생성 체크일 경우 이미지(중,소) 자동생성
if ($createimage && $_FILES[it_limg1][name])
.....
이런 부분이 있습니다. 찾으셔서 그 안에보면
// gd 버전에 따라
if (function_exists("imagecopyresampled")) {
// 이미지(소) 생성
$dst = imagecreatetruecolor($default[de_simg_width], $default[de_simg_height]);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $default[de_simg_width], $default[de_simg_height], $size[0], $size[1]);
} else {
// 이미지(소) 생성
$dst = imagecreate($default[de_simg_width], $default[de_simg_height]);
imagecopyresized($dst, $src, 0, 0, 0, 0, $default[de_simg_width], $default[de_simg_height], $size[0], $size[1]);
}
이 부분에서 썸네일이 생성되게 됩니다.
주석 밑 if문 바로 위에다가
$resize_rule = $default[de_simg_width] / $size[0]; //비율을 구한다.
$default[de_simg_height] = $resize_rule * $size[1];
이 두줄만 추가해 주시면 됩니다.
size[0] 과 size[1]은 이미 그 위에서 처리가 되었더군요.
비율만 조율해주면 되는것이었습니다. ㅠㅠ
저건 작은 이미지에 대용한것이구요.
중이미지에 넣게 되면 중이미지 처리 if문 바로 위에
$resize_rule = $default[de_mimg_width] / $size[0]; //비율을 구한다.
$default[de_mimg_height] = $resize_rule * $size[1];
이부분을 넣어주심 됩니다. de_simg_width 를 de_mimg_width로 바꾼거뿐이죠~
---------------------------------------------------------------- 아래는 출력 ------------------------
lib/shop.lib.php 를
if (file_exists($full_img) && $img)
{
if (!$width)
{
$size = getimagesize($full_img);
$width = $size[0];
$height = $size[1];
}
//$str = "<img id='$img' src='$g4[url]/data/item/$img' width='$width' height='$height' border='0'>";
$str = "<img id='$img' src='$g4[url]/data/item/$img' width='$width' border='0'>";
}
else
{
$str = "<img id='$img' src='$g4[shop_img_url]/no_image.gif' border='0' ";
if ($width)
//$str .= "width='$width' height='$height'";
$str .= "width='$width'";
else
//$str .= "width='$default[de_mimg_width]' height='$default[de_mimg_height]'";
$str .= "width='$default[de_mimg_width]'";
$str .= ">";
}
이렇게 수정해 봤습니다.
'스크립트 > 그누보드 관련' 카테고리의 다른 글
그누보드 간단한 워터마크 (0) | 2013.07.12 |
---|---|
첨부파일이미지 지정된 크기로 저장 (0) | 2013.06.24 |
주문금액과 주문자 정보(쇼핑에 관련된) (0) | 2012.11.06 |
회원 비빌번호 모를시 강제로 제작하기 (0) | 2012.10.23 |
주문번호를 random하게 시작하게 하기 (0) | 2012.08.25 |