每一个新手遇到的问题,都是下一个新人学习的教程!
今天的案例是: 绘制圆形动态(GIF)头像,涉及到GDIP绘制,和定时器的使用
我们先来定义一个GFI动态绘制类:
这个类主要是用于提前加载GIF图像,解析图像的帧数和每个GIF帧的时长,以及提供获取图像数据的功能。
[JavaScript] 纯文本查看 复制代码 GIF图片.加载文件("C:\\Users\\xxxx\\Desktop\\123.gif")
主窗口._基础元素1.置炫彩定时器(1, GIF图片.取平均帧延时())
然后我们创建一个GFI动态绘制类的实例变量,然后取每个帧平均时间作为定时器周期,意思是每次定时器事件触发,我们就绘制下一帧。
在窗口设计器中添加组件绘制和定时器事件,然后在组件绘制事件下面,我们用GDIP的纹理画刷来和圆形路径裁剪实现圆型的头像绘制。
细节问题:本来这里可以直接用之前创建的GP图像对象来绘制,但是我发现如果使用了纹理画刷,不能直接使用GIF图,只能每次都把GIF当前帧图像保存为非GIF格式,再给纹理画刷使用
以上代码写的很简单,主要是给新手入门学习,实际中的GIF图像每帧时间可能都不一样,我们需要更精确的定时器和判断当前帧。
动态圆形图像绘制.zip
(33 KB, 下载次数: 12)
|