您尚未登录。

楼主 # 2023-07-24 10:04:30

ricky
会员
注册时间: 2019-10-24
已发帖子: 1
积分: 1

gifdec移植

github上找到的gif解码实现:https://github.com/lecram/gifdec

实现依赖文件系统,仅支持89a;C实现,方便移植。

README中详细说明了使用方法,下面是一个简单的示例。

A simplified skeleton of a GIF viewer may look like this:

    gd_GIF *gif = gd_open_gif("some_animation.gif");
    char *buffer = malloc(gif->width * gif->height * 3);
    for (unsigned looped = 1;; looped++) {
        while (gd_get_frame(gif)) {
            gd_render_frame(gif, buffer);
            /* insert code to render buffer to screen
                and wait for delay time to pass here  */
        }
        if (looped == gif->loop_count)
            break;
        gd_rewind(gif);
    }
    free(buffer);
    gd_close_gif(gif);

需要注意的是,格式 R、G、B 各一个Byte,如果是565,需要做转化。

附件为一个简单的gif图像,方便调试用。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn