gif动态图片取静态帧

瞎掰的,请大神提出意见

location ~* ([0-9a-z\/]+)/([0-9a-z]+).(a|gif)_([0-9]+)x([0-9]+)(.*)$ {
        #default_type text/html;
        root  /data/thumbnail/;
        set $image_root /data/filesystem;
        set $thumbnail_root /data/thumbnail/;
        set $ways $1;
        set $fileName $2.$3;
        set $width  $4;
        set $height $5;
        set $origin  $image_root$ways/$fileName;
        set $file  $thumbnail_root$uri;
        set $dir $thumbnail_root$ways;
        set $ext $6;
        if (!-f $file) {
            rewrite_by_lua '
                local command1 = "mkdir -p " .. ngx.var.dir
                local quality = string.sub(ngx.var.ext,2,3)
                local ext = string.sub(ngx.var.ext,-3)
                if quality ~= "gi" and quality ~= "jp" and quality ~= "00" and ext == "gif"  and quality ~= "JP" and quality ~= "GI" and ext == "GIF" then
                    local command2 = "/graphicsmagick/bin/gm convert -quality " .. quality .. " "  .. ngx.var.origin .. "[0]"  .. " -thumbnail " .. ngx.var.width .. "x" .. ngx.var.height .. " " .. ngx.var.file
                    os.execute(command1)
                    os.execute(command2)
                elseif  quality == "00" then
                    local command2 = "/graphicsmagick/bin/gm convert " .. ngx.var.origin .. " -thumbnail " .. ngx.var.width .. "x" .. ngx.var.height .. " " .. ngx.var.file
                    os.execute(command1)
                    os.execute(command2)
                elseif  ext == "gif" or ext == "GIF" then
                    local command2 = "/graphicsmagick/bin/gm convert " .. ngx.var.origin .. "[0]"  .. " -thumbnail " .. ngx.var.width .. "x" .. ngx.var.height .. " " .. ngx.var.file
                    os.execute(command1)
                    os.execute(command2)
                end
            ';
        }
    }mmand2)

http://goodid.com/1.gif_300x300_00.gif
压缩比例为00就是动态gif,其他压缩比例或者不加压缩比例为静态压缩图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值