[晴 2007/02/05 02:33 | by turbozv ]
     基于LibUnGif。我的目标是剥离出一套最小的,支持背景透明的,能在WinCE(PocketPC/SmartPhone)上运行的动画GIF库。

做的工作主要是几方面:
1) 增加了透明支持
2) 去掉了WinCE上不必要的一切函数
3) 写了一个Sample Code

使用方法
1)初始化Gif动画

GifWin gif;
gif.Open(gifContentBuffer, gifContentLen, RGB(0xff, 0xff, 0xff));
delay = gif.NextImage();
SetTimer(hWnd, GIF_TIMER_ID, delay, NULL);

2)显示Gif动画

WM_TIMER:
    gif.Draw(hdc, left, top, right, bottom);
    InvalidateRect(hdc, &rect, FALSE);
    delay = gif.NextImage();
    if (delay <= 0) {
         gif.Reset();
         delay = gif.NextImage();
    }
    SetTimer(hWnd, GIF_TIMER_ID, delay, NULL);

3)释放Gif动画

gif.Close();

严格遵循GPL,完整源代码下载:
程序 | 评论(4) | 引用(0) | 阅读(11581)
256
2009/09/30 02:01
老大能不能给个应用例子啊?怎么把gif读入内存啊?
四三三
2007/04/18 19:38
因为急着用,我改了一下
用文件方式,BitBlt显示,可以rewind,加了一层window封装,感觉好用一点
怎么发出来呢?
turbozv 回复于 2007/04/19 00:28
谢谢,请发到 turbozv_AT_gmail.com ( 用 @ 替换 _AT_)
四三三
2007/04/18 19:36
这个库真是很不好用
内部的开销也大
zhsfei
2007/04/01 01:15
GifWin gif;
gif.Open(gifContentBuffer, gifContentLen, RGB(0xff, 0xff, 0xff));

没有打开文件怎么直接就可以使用。同时不知道gifContentBuffer,gifContentLen变量从何赋值
turbozv 回复于 2007/04/01 07:41
gifContentLen是一个GIF文件的大小
gifContentBuffer是一个GIF文件的内容
你需要读入内存先~
分页: 1/1 第一页 1 最后页