o

gif 애니메이션 사이즈 용량 줄이기

· 2019-02-06 (수) 16:56:10 · 7760 · 6

애니메이션을 리스트에 보여주니 용량이 너무 커서 
이미지 사이즈를 줄였더니 애니메이션이 멈추어 버리네요 
방법을 찾으려고 팁이나 스킨을 찾아보는데 마땅한 방법이 없어서 하나 만들어 보았습니다 
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 경로를 아래와 같이 처리해 주십니다 

[code]

$file_path = G5_PATH."/plugin/PHPImageWorkshop"; 
[/code]

이 있습니다 해당 경로를 맞추어 주시고요. 


19라인에

[code]

$frame_size=2;

[/code]

에 원하시는 숫자를 넣어 주시면 됩니다 

 

2이면 2장중 1장을 5이면 5장중 1장을 추출합니다 추출을 많이 할수록 
움직임이 부드럽지 않습니다.


4. /lib/thumbnail.lib.php 를 여시고

상단에 

[code]

include_once G5_PATH."/lib/thumbnail_gif.lib.php";

[/code]

를 넣습니다.

 

232라인에 

[code]

if (file_exists($thumb_file)) {
    if ($is_create == false && $source_time < $thumb_time) {
        return basename($thumb_file);
    }
}

[/code]
을 아래와 같이 변경해 주십니다 

 

[code]
// 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);
    }
}

[/code]

 

압축파일안에 
변경된 thumbnail.lib.php 에 넣어 놓았습니다.

도움이 되었으면 좋겠네요. 즐거운 하루되세요 
 

첨부파일

thumb.zip (7.5 KB) 35회 2019-02-06 16:56
|

댓글 6개

2019-02-06 (수) 21:11:57
오...대단하십니다.
많은 분들이 고민하고 있는 부분인데...
우선 추천 한방 드리고...저도 고민을 해봐야 겠습니다.

혹 적용해놓으신 셈플 사이트 구경이라도 가능할까요?

[http://sir.kr/data/editor/1902/8366b54bd370e37fc3692636620a5582_1549455115_1392.gif]
2019-02-07 (목) 10:15:47
좋은정보 감사합니다.
헉.. 이렇게 좋은 정보를.. 감사 합니다~
2019-02-08 (금) 10:07:22
좋은 정보 감사합니다.
인클루드 부분을 아래와 같이 변경하면 잘 됩니다.
include_once(G5_PATH."/PHPImageWorkshop/lib/thumbnail_gif.lib.php");
2021-05-11 (화) 13:31:20
일단 스크랩해봅니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
19-02-07 조회 8,243
19-02-06 조회 7,761
19-02-02 조회 6,084
19-02-01 조회 5,849
19-01-31 조회 5,295
19-01-28 조회 9,928
19-01-28 조회 6,334
19-01-27 조회 7,013
19-01-24 조회 6,511
19-01-22 조회 8,071
19-01-22 조회 7,279
19-01-21 조회 6,119
19-01-20 조회 7,592
19-01-18 조회 5,947
19-01-15 조회 1.1만
19-01-15 조회 1.4만
19-01-14 조회 9,549
19-01-14 조회 6,145
19-01-13 조회 7,407
19-01-10 조회 8,828
19-01-10 조회 7,200
19-01-08 조회 6,417
19-01-06 조회 6,894
19-01-06 조회 1만
18-12-31 조회 9,568
18-12-31 조회 7,732
18-12-28 조회 6,829
18-12-28 조회 9,872
18-12-26 조회 8,423
18-12-26 조회 5,615