시하님의 팁을 바탕으로 언샵마스크 기능을 추가하였습니다.
사용법은 기존과 동일하며
$options = Array();
$options['unsharpmask_use'] = 0;//사용안함
create_thumbnail('http://apmusers.com/tt/attach/1/1267047665.jpg', 'a.png', 50, 0, $options);
$options = Array();
$options['unsharpmask_use'] = 1;//사용함
$options['unsharpmask_amount'] = 100;
$options['unsharpmask_radius'] = 1;
$options['unsharpmask_threshold'] = 2;
create_thumbnail('http://apmusers.com/tt/attach/1/1267047665.jpg', 'b.png', 50, 0, $options);
등과 같이 사용할수 있습니다.
언샵마스크란 포토샵 과 같은 이미지 툴에서
색상의 경계선간의 차이를 명확하게 하여
전체적으로 사진이 선명하게 보이도록 하는 역활을 뜻하는 것 같습니다.
댓글 11개
Terrorboy
13년 전
팬1호입니다~
13년 전
/*
이름 : create_thumbnail
용도 : 원본을 조건에 따라 리사이즈, 크롭, 워터마크를 처리하여 파일로 저장함
성공시 리턴값 : true
실패시 리턴값 : false
인자 :
==> $path_src_file_or_url : 원본파일의 절대경로 또는 상대경로 또는 주소
==> $path_save_file : 썸네일을 저장할 절대경로 또는 상대경로
==> $save_w : 만들 썸네일의 너비
==> $save_h : 만들 썸네일의 높이, 생략 가능하며 생략시 기본값은 0
==> $options : 함수 내부에 정의된 변수들의 값을 변경할때 사용, 배열형태, 생략가능하며 생략시 기본값은 빈배열(Array())
==> $options['save_quality'] : 파일로 저장시 저장될 파일의 품질, 100 이하의 양의 정수만 사용, gif는 의미 없음
==> $options['save_force'] : 이미 동일한 경로에 동일이름의 파일이 존재할때의 처리 결정
0 이면 false 반환, 1 이면 더이상 실행안하고 true 반환, 2 이면 기존거는 지우고 새로 저장
==> $options['unsharpmask_use'] : 언샵마스크 사용 여부, 0 은 사용안함, 1은 사용함
==> $options['unsharpmask_amount'] : 샤픈은 명과 암부의 색상이 변화되어 경계면이 강조되어 보이도록 하는 것으로 경계면에서의 명암 대비를 강화하는 정도 %
1 에서 500 사이의 정수만 사용가능
==> $options['unsharpmask_radius'] : 경계면의 강조되는 범위를 말하는 것으로 작게할 수록 경계면에서 샤픈을 위한 명암이 강조 범위가 좁아짐
즉, 강조되는 경계면이 얇아짐.
0.5 에서 50 사이의 정수와 소수 사용가능
==> $options['unsharpmask_threshold'] : 설정된 수준 이상의 명암차가 있는 경계만 강조됨.
예를들어 10으로 설정할 경우 경계면의 명암차가 10 이상 나지 않는 경계면은 강조하지 않음.
너무 높게할 경우 대부분은 샤픈되지 않음. 가장 낮게 할 경우 모든 경계면이 강조됨.
==> $options['crop_use'] : 크롭 사용 여부, 0 은 사용안함, 1은 사용함
==> $options['crop_pos_width'] : 너비 기준으로 크롭할때 기준부위 결정, 1은 왼쪽, 2는 가운데, 3은 오른쪽
==> $options['crop_pos_height'] : 높이 기준으로 크롭할때 기준부위 결정, 1은 상단, 2는 중단, 3은 하단
==> $options['watermark_path_file'] : 워터마크 이미지 파일의 절대경로 또는 상대경로
==> $options['watermark_pos'] : 워터마크 찍는 위치 결정, 1 은 상단 왼쪽, 2는 상단 오른쪽, 3은 하단 왼쪽, 4는 하단 오른쪽, 5는 중앙, 10 은 전체에 반복
==> $options['watermark_sharpness'] : 워터마크의 선명도, 100 이하의 양의 정수만 사용
==> 100 일경우에는 투명이미지 사용가능
==> $options['watermark_padding'] : 워터마크의 여백, 0이상의 양의 정수, 패딩의 크기는 워터마크이미지의 너비나 높이보다 클수 없음
*/
이름 : create_thumbnail
용도 : 원본을 조건에 따라 리사이즈, 크롭, 워터마크를 처리하여 파일로 저장함
성공시 리턴값 : true
실패시 리턴값 : false
인자 :
==> $path_src_file_or_url : 원본파일의 절대경로 또는 상대경로 또는 주소
==> $path_save_file : 썸네일을 저장할 절대경로 또는 상대경로
==> $save_w : 만들 썸네일의 너비
==> $save_h : 만들 썸네일의 높이, 생략 가능하며 생략시 기본값은 0
==> $options : 함수 내부에 정의된 변수들의 값을 변경할때 사용, 배열형태, 생략가능하며 생략시 기본값은 빈배열(Array())
==> $options['save_quality'] : 파일로 저장시 저장될 파일의 품질, 100 이하의 양의 정수만 사용, gif는 의미 없음
==> $options['save_force'] : 이미 동일한 경로에 동일이름의 파일이 존재할때의 처리 결정
0 이면 false 반환, 1 이면 더이상 실행안하고 true 반환, 2 이면 기존거는 지우고 새로 저장
==> $options['unsharpmask_use'] : 언샵마스크 사용 여부, 0 은 사용안함, 1은 사용함
==> $options['unsharpmask_amount'] : 샤픈은 명과 암부의 색상이 변화되어 경계면이 강조되어 보이도록 하는 것으로 경계면에서의 명암 대비를 강화하는 정도 %
1 에서 500 사이의 정수만 사용가능
==> $options['unsharpmask_radius'] : 경계면의 강조되는 범위를 말하는 것으로 작게할 수록 경계면에서 샤픈을 위한 명암이 강조 범위가 좁아짐
즉, 강조되는 경계면이 얇아짐.
0.5 에서 50 사이의 정수와 소수 사용가능
==> $options['unsharpmask_threshold'] : 설정된 수준 이상의 명암차가 있는 경계만 강조됨.
예를들어 10으로 설정할 경우 경계면의 명암차가 10 이상 나지 않는 경계면은 강조하지 않음.
너무 높게할 경우 대부분은 샤픈되지 않음. 가장 낮게 할 경우 모든 경계면이 강조됨.
==> $options['crop_use'] : 크롭 사용 여부, 0 은 사용안함, 1은 사용함
==> $options['crop_pos_width'] : 너비 기준으로 크롭할때 기준부위 결정, 1은 왼쪽, 2는 가운데, 3은 오른쪽
==> $options['crop_pos_height'] : 높이 기준으로 크롭할때 기준부위 결정, 1은 상단, 2는 중단, 3은 하단
==> $options['watermark_path_file'] : 워터마크 이미지 파일의 절대경로 또는 상대경로
==> $options['watermark_pos'] : 워터마크 찍는 위치 결정, 1 은 상단 왼쪽, 2는 상단 오른쪽, 3은 하단 왼쪽, 4는 하단 오른쪽, 5는 중앙, 10 은 전체에 반복
==> $options['watermark_sharpness'] : 워터마크의 선명도, 100 이하의 양의 정수만 사용
==> 100 일경우에는 투명이미지 사용가능
==> $options['watermark_padding'] : 워터마크의 여백, 0이상의 양의 정수, 패딩의 크기는 워터마크이미지의 너비나 높이보다 클수 없음
*/
13년 전
감사합니다 창화님^^
덕분에 세로기준 중간 크롭도 사용할 수 있어서 매우 흡족합니다.
잘 사용하겠습니다 ^^
제가 창화님께 추천해드린 언샵마스크 값이
$options['unsharpmask_amount'] = 100;
$options['unsharpmask_radius'] = 1;
$options['unsharpmask_threshold'] = 2;
위와 같은데 이것에 대해 짧게 부연 설명을 드리자면
사진찍는 분들이 포토샵에서 가장 흔하게 사용하는 언샵마스크 값이 100.1.2 입니다.
흔히 "배길리"라고 말하는데요...
큰 이미지를 크롭하거나 리사이즈 한 후에
amount :100 / radius : 1 / threshols : 2 의 값으로 사용합니다.
[http://sir.co.kr/data/cheditor4/1202/ab33ef458a0ccd5639fb807976b8d1ea_aXz38VwxEf4cSOX6.gif]
이 값의 변화를 알고 싶으면 포토샵을 연 후에 filter > UnsharpMask 를 이용해 보세요.
덕분에 세로기준 중간 크롭도 사용할 수 있어서 매우 흡족합니다.
잘 사용하겠습니다 ^^
제가 창화님께 추천해드린 언샵마스크 값이
$options['unsharpmask_amount'] = 100;
$options['unsharpmask_radius'] = 1;
$options['unsharpmask_threshold'] = 2;
위와 같은데 이것에 대해 짧게 부연 설명을 드리자면
사진찍는 분들이 포토샵에서 가장 흔하게 사용하는 언샵마스크 값이 100.1.2 입니다.
흔히 "배길리"라고 말하는데요...
큰 이미지를 크롭하거나 리사이즈 한 후에
amount :100 / radius : 1 / threshols : 2 의 값으로 사용합니다.
[http://sir.co.kr/data/cheditor4/1202/ab33ef458a0ccd5639fb807976b8d1ea_aXz38VwxEf4cSOX6.gif]
이 값의 변화를 알고 싶으면 포토샵을 연 후에 filter > UnsharpMask 를 이용해 보세요.
13년 전
좋은 코멘트 감사합니다.
morning
13년 전
감사합니다.
옵션유형별 순서도 아래가 기본인가요?
------------
//기본값 설정
$save_quality = 70;//저장 품질 : 70 %
$save_force = 2;//저장형태 : 파일 덮어씌움
$unsharpmask_use = 1;//언샵마스크 사용여부
$unsharpmask_amount = 100;
$unsharpmask_radius = 1;
$unsharpmask_threshold = 2;
$crop_use = 0;//크롭 사용여부
$crop_pos_width = 2;//너비 기준 크롭시 중앙을 기준
$crop_pos_height = 1;//높이 기준 크롭시 상단을 기준
$watermark_path_file = '';//워터마크로 사용할 파일 경로 : 없음
$watermark_pos = 4;//워터마크 찍는 위치 : 하단 오른쪽
$watermark_sharpness = 30;//워터마크 이미지의 선명도 : 30 %
$watermark_padding = 10;//원본과 워터마크 사이의 여백 : 10px
옵션유형별 순서도 아래가 기본인가요?
------------
//기본값 설정
$save_quality = 70;//저장 품질 : 70 %
$save_force = 2;//저장형태 : 파일 덮어씌움
$unsharpmask_use = 1;//언샵마스크 사용여부
$unsharpmask_amount = 100;
$unsharpmask_radius = 1;
$unsharpmask_threshold = 2;
$crop_use = 0;//크롭 사용여부
$crop_pos_width = 2;//너비 기준 크롭시 중앙을 기준
$crop_pos_height = 1;//높이 기준 크롭시 상단을 기준
$watermark_path_file = '';//워터마크로 사용할 파일 경로 : 없음
$watermark_pos = 4;//워터마크 찍는 위치 : 하단 오른쪽
$watermark_sharpness = 30;//워터마크 이미지의 선명도 : 30 %
$watermark_padding = 10;//원본과 워터마크 사이의 여백 : 10px
13년 전
네 그것이 제가 잡아놓은 기본값입니다.
그런데 많이 쓰는 형태로 옵션은 바꿔도 상관없습니다.
그런데 많이 쓰는 형태로 옵션은 바꿔도 상관없습니다.
13년 전
감사합니다 ^^ 추천날리구 가요!!
morning
13년 전
echo $GLOBALS['errormsg']; 를 추가로 출력해보면
"740365499_bFTE6ZoD_000_0021.jpg은 파일이 아닙니다." 라고 뜹니다.
어디를 손봐야하는가요?
http://ongga.com/bbs/board.php?bo_table=morningwebU3_Zn&page=0
링크입니다.
-------------
if (!is_file($path_save_file)) {
foreach($list[$i]['file'] as $k => $v) {
if (preg_match("`\.(gif|jpe?g|png)$`i", $v[source])) {
if (create_thumbnail($v['file'], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
break;
}
}
}
if (empty($list[$i]['thumbnail']) && !empty($list[$i]['wr_content']) && preg_match("`src\s*=([^>]+\.(gif|jp?g|png))('|\"|\s|>)`iU", $list[$i]['wr_content'], $m)) {
$m[1] = preg_replace("`[\s\"']+`", '', $m[1]);
if (!empty($m[1])) {
if (create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
}
}
}
}
else {
$list[$i]['thumbnail'] = $path_save_file;
}
"740365499_bFTE6ZoD_000_0021.jpg은 파일이 아닙니다." 라고 뜹니다.
어디를 손봐야하는가요?
http://ongga.com/bbs/board.php?bo_table=morningwebU3_Zn&page=0
링크입니다.
-------------
if (!is_file($path_save_file)) {
foreach($list[$i]['file'] as $k => $v) {
if (preg_match("`\.(gif|jpe?g|png)$`i", $v[source])) {
if (create_thumbnail($v['file'], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
break;
}
}
}
if (empty($list[$i]['thumbnail']) && !empty($list[$i]['wr_content']) && preg_match("`src\s*=([^>]+\.(gif|jp?g|png))('|\"|\s|>)`iU", $list[$i]['wr_content'], $m)) {
$m[1] = preg_replace("`[\s\"']+`", '', $m[1]);
if (!empty($m[1])) {
if (create_thumbnail($m[1], $path_save_file, $save_w, $save_h, $options)){
$list[$i]['thumbnail'] = $path_save_file;
}
}
}
}
else {
$list[$i]['thumbnail'] = $path_save_file;
}
13년 전
음
if (create_thumbnail($v['file'], $path_save_file, $save_w, $save_h, $options)){
이거를
if (create_thumbnail($g4['path'] . '/data/file/' . $bo_table . '/' . $v['file'], $path_save_file, $save_w, $save_h, $options)){
이렇게 바꾸면 되겟네요.
if (create_thumbnail($v['file'], $path_save_file, $save_w, $save_h, $options)){
이거를
if (create_thumbnail($g4['path'] . '/data/file/' . $bo_table . '/' . $v['file'], $path_save_file, $save_w, $save_h, $options)){
이렇게 바꾸면 되겟네요.
morning
13년 전
ㅎㅎㅎ
이번에는 한번 클릭에 와르르르 쏟아집니다...
괴렵혀드려서 죄송했습니다.
메일답글 안주셔도 됩니다.
이번에는 한번 클릭에 와르르르 쏟아집니다...
괴렵혀드려서 죄송했습니다.
메일답글 안주셔도 됩니다.
13년 전
안녕하세요? 완전 생초보입니다.
지금 설치하려고 하는데, 아직 완성을 잘못해서..,가장 초보적인 질문을 드리겠습니다.
37줄 부터 시작되는 ($path_file) 경로에 대해서 실제 경로를 입력해 주어야 되는지요? 아니면 그냥 놔두어도 되는지 문의 드립니다.~^^
지금 설치하려고 하는데, 아직 완성을 잘못해서..,가장 초보적인 질문을 드리겠습니다.
37줄 부터 시작되는 ($path_file) 경로에 대해서 실제 경로를 입력해 주어야 되는지요? 아니면 그냥 놔두어도 되는지 문의 드립니다.~^^
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 8230 | 9년 전 | 161 | ||
| 8229 | 9년 전 | 129 | ||
| 8228 |
커네드커네드
|
9년 전 | 179 | |
| 8227 | 9년 전 | 224 | ||
| 8226 | 9년 전 | 237 | ||
| 8225 | 9년 전 | 218 | ||
| 8224 | 9년 전 | 227 | ||
| 8223 | 9년 전 | 201 | ||
| 8222 |
|
9년 전 | 263 | |
| 8221 | 9년 전 | 169 | ||
| 8220 | 9년 전 | 203 | ||
| 8219 | 9년 전 | 174 | ||
| 8218 | 9년 전 | 220 | ||
| 8217 |
star3840
|
9년 전 | 188 | |
| 8216 | 9년 전 | 253 | ||
| 8215 | 9년 전 | 198 | ||
| 8214 | 9년 전 | 315 | ||
| 8213 | 9년 전 | 265 | ||
| 8212 | 9년 전 | 175 | ||
| 8211 | 9년 전 | 351 | ||
| 8210 | 9년 전 | 347 | ||
| 8209 | 9년 전 | 427 | ||
| 8208 | 9년 전 | 311 | ||
| 8207 | 9년 전 | 324 | ||
| 8206 |
|
9년 전 | 274 | |
| 8205 | 9년 전 | 247 | ||
| 8204 | 9년 전 | 231 | ||
| 8203 | 9년 전 | 300 | ||
| 8202 | 9년 전 | 219 | ||
| 8201 | 9년 전 | 260 | ||
| 8200 | 9년 전 | 272 | ||
| 8199 | 9년 전 | 292 | ||
| 8198 | 9년 전 | 257 | ||
| 8197 | 9년 전 | 240 | ||
| 8196 | 9년 전 | 656 | ||
| 8195 | 9년 전 | 251 | ||
| 8194 | 9년 전 | 362 | ||
| 8193 | 9년 전 | 272 | ||
| 8192 | 9년 전 | 287 | ||
| 8191 | 9년 전 | 236 | ||
| 8190 | 9년 전 | 223 | ||
| 8189 | 9년 전 | 287 | ||
| 8188 | 9년 전 | 220 | ||
| 8187 | 9년 전 | 224 | ||
| 8186 | 9년 전 | 226 | ||
| 8185 | 9년 전 | 393 | ||
| 8184 | 9년 전 | 183 | ||
| 8183 | 9년 전 | 396 | ||
| 8182 | 9년 전 | 260 | ||
| 8181 | 9년 전 | 221 | ||
| 8180 | 9년 전 | 789 | ||
| 8179 | 9년 전 | 557 | ||
| 8178 | 9년 전 | 425 | ||
| 8177 |
kiplayer
|
9년 전 | 419 | |
| 8176 | 9년 전 | 453 | ||
| 8175 | 9년 전 | 345 | ||
| 8174 | 9년 전 | 333 | ||
| 8173 | 9년 전 | 424 | ||
| 8172 | 9년 전 | 304 | ||
| 8171 | 9년 전 | 266 | ||
| 8170 | 9년 전 | 380 | ||
| 8169 |
커네드커네드
|
9년 전 | 336 | |
| 8168 | 9년 전 | 416 | ||
| 8167 | 9년 전 | 406 | ||
| 8166 | 9년 전 | 312 | ||
| 8165 | 9년 전 | 254 | ||
| 8164 | 9년 전 | 387 | ||
| 8163 | 9년 전 | 386 | ||
| 8162 | 9년 전 | 376 | ||
| 8161 | 9년 전 | 393 | ||
| 8160 |
|
9년 전 | 605 | |
| 8159 | 9년 전 | 548 | ||
| 8158 | 9년 전 | 344 | ||
| 8157 | 9년 전 | 457 | ||
| 8156 | 9년 전 | 344 | ||
| 8155 | 9년 전 | 347 | ||
| 8154 |
00년생용띠
|
9년 전 | 677 | |
| 8153 | 9년 전 | 313 | ||
| 8152 |
|
9년 전 | 495 | |
| 8151 | 9년 전 | 490 | ||
| 8150 | 9년 전 | 598 | ||
| 8149 |
Jangfolk
|
9년 전 | 460 | |
| 8148 | 9년 전 | 278 | ||
| 8147 | 9년 전 | 460 | ||
| 8146 | 9년 전 | 543 | ||
| 8145 | 9년 전 | 497 | ||
| 8144 | 9년 전 | 462 | ||
| 8143 | 9년 전 | 297 | ||
| 8142 | 9년 전 | 507 | ||
| 8141 | 9년 전 | 455 | ||
| 8140 | 9년 전 | 1019 | ||
| 8139 | 9년 전 | 370 | ||
| 8138 |
전갈자리남자
|
9년 전 | 470 | |
| 8137 | 9년 전 | 506 | ||
| 8136 | 9년 전 | 840 | ||
| 8135 |
|
9년 전 | 877 | |
| 8134 |
PlayPixel
|
9년 전 | 614 | |
| 8133 |
|
9년 전 | 521 | |
| 8132 | 9년 전 | 561 | ||
| 8131 | 9년 전 | 919 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기