精易论坛

标题: 【炫语言】组件自绘 - 圆形动态(GIF)头像 [打印本页]

作者: hxznhf    时间: 2024-9-15 16:17
标题: 【炫语言】组件自绘 - 圆形动态(GIF)头像
每一个新手遇到的问题,都是下一个新人学习的教程!




今天的案例是: 绘制圆形动态(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, 下载次数: 13)















作者: zxxiaopi    时间: 2024-9-15 17:11
感谢分享
作者: cs潇潇    时间: 2024-9-15 18:09
这个看起来好酷
作者: 呵呵仙    时间: 2024-9-15 18:53
感谢开源
作者: xue9528    时间: 2024-9-16 01:33
来看看……
作者: renhe2018    时间: 2024-9-16 02:07
真的是好炫啊。
作者: bianyuan456    时间: 2024-9-16 09:31
已经顶贴,感谢您对论坛的支持!
作者: 炫彩界面库    时间: 2024-9-16 10:26
感谢大佬分享
作者: xf702    时间: 2024-9-16 14:36
谢谢,学习了。。。
作者: 嫂子    时间: 2024-9-16 20:34
gif的帧间隔并不是相同的   这个办法 不是很完美
作者: hxznhf    时间: 2024-9-16 20:56
嫂子 发表于 2024-9-16 20:34
gif的帧间隔并不是相同的   这个办法 不是很完美

我只是假设都是一样的
作者: 黑米H    时间: 2024-9-17 18:18

感谢大佬分享
作者: jzc123    时间: 2024-9-22 16:52
4444444444444444444444444444444444444




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4