gif 애니메이션 사이즈 용량 줄이기 정보
gif 애니메이션 사이즈 용량 줄이기- onlymilk47 자기소개 아이디로 검색 전체게시물 회원게시물
- 4,231
첨부파일
본문
애니메이션을 리스트에 보여주니 용량이 너무 커서
이미지 사이즈를 줄였더니 애니메이션이 멈추어 버리네요
방법을 찾으려고 팁이나 스킨을 찾아보는데 마땅한 방법이 없어서 하나 만들어 보았습니다
80% 는 정상적으로 되는데 몇몇은 이미지가 깨지네요
깨지는 부분은 포토샵을 이용하거나 https://ezgif.com/split에서 이미지를 따로 줄여서 올렸습니다.
사이즈 줄이는 방법
1. https://github.com/Sybio/ImageWorkshop 에서 다운을 받습니다
2. ImageWorkshop.php 가 들어있는 폴더를 찾으시고 (/src/PHPImageWorkshop/)
PHPImageWorkshop 폴더를 plugin 에 넣습니다
3. 압축파일을 여시면 thumbnail_gif.lib.php 을 lib 폴더에 넣습니다
해당 파일을 여시면
PHPImageWorkshop 파일안에 ImageWorkshop.php 이있는지 확인하시고요
PHPImageWorkshop 경로를 아래와 같이 처리해 주십니다
$file_path = G5_PATH."/plugin/PHPImageWorkshop";
이 있습니다 해당 경로를 맞추어 주시고요.
19라인에
$frame_size=2;
에 원하시는 숫자를 넣어 주시면 됩니다
2이면 2장중 1장을 5이면 5장중 1장을 추출합니다 추출을 많이 할수록
움직임이 부드럽지 않습니다.
4. /lib/thumbnail.lib.php 를 여시고
상단에
include_once G5_PATH."/lib/thumbnail_gif.lib.php";
를 넣습니다.
232라인에
if (file_exists($thumb_file)) {
if ($is_create == false && $source_time < $thumb_time) {
return basename($thumb_file);
}
}
을 아래와 같이 변경해 주십니다
// Animated GIF는 썸네일 생성하지 않음
if($size[2] == 1) {
if(is_animated_gif($source_file)){
//작은내용은 삭제한다
if($size[0] <= $thumb_width){
$thumb_width=$size[0];
}
$ext = array(1 => 'gif', 2 => 'jpg', 3 => 'png');
$thumb_filename = preg_replace("/\.[^\.]+$/i", "", $filename); // 확장자제거
$thumb_file = "$target_path/thumb-{$thumb_filename}_{$thumb_width}x{$thumb_height}.".$ext[$size[2]];
$thumb_time = @filemtime($thumb_file);
$source_time = @filemtime($source_file);
if (file_exists($thumb_file)) {
if ($is_create == false && $source_time < $thumb_time) {
return basename($thumb_file);
}
}
thumbnail_gif($source_file,$thumb_file, $thumb_width, $size[0]);
return basename($thumb_file);
//return basename($source_file);
}
}
압축파일안에
변경된 thumbnail.lib.php 에 넣어 놓았습니다.
도움이 되었으면 좋겠네요. 즐거운 하루되세요
3
댓글 6개
많은 분들이 고민하고 있는 부분인데...
우선 추천 한방 드리고...저도 고민을 해봐야 겠습니다.
혹 적용해놓으신 셈플 사이트 구경이라도 가능할까요?
include_once(G5_PATH."/PHPImageWorkshop/lib/thumbnail_gif.lib.php");