o

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

· 2019-02-06 (수) 16:56:10 · 8066 · 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-03-10 조회 7,504
19-03-09 조회 6,729
19-03-09 조회 6,501
19-03-07 조회 9,530
19-03-07 조회 6,970
19-03-05 조회 8,523
19-03-05 조회 7,951
19-03-03 조회 9,235
19-02-26 조회 8,196
19-02-25 조회 7,753
19-02-25 조회 6,838
19-02-24 조회 8,794
19-02-22 조회 1.7만
19-02-21 조회 6,835
19-02-21 조회 7,783
19-02-21 조회 7,565
19-02-20 조회 6,957
19-02-20 조회 6,058
19-02-18 조회 6,869
19-02-18 조회 8,079
19-02-17 조회 7,419
19-02-16 조회 1.2만
19-02-14 조회 8,416
19-02-13 조회 8,192
19-02-11 조회 5,969
19-02-09 조회 8,547
19-02-08 조회 7,426
19-02-08 조회 1만
19-02-08 조회 8,753
19-02-07 조회 6,437