GMap.NET 显示GIF图标的定制
2024-10-21 03:23:33
利用System.Drawing.ImageAnimator
类实现GIF图标显示
public class GMapMarkerImage : GMapMarker
{
private Image image;
private bool currentlyAnimating; public GMapMarkerImage(PointLatLng pos, Image image) : base(pos)
{
Size = new Size(image.Width, image.Height);
Offset = new Point(-Size.Width / , -Size.Height / );
this.image = image;
} protected GMapMarkerImage(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
private bool isAnimateImage()
{
if (image == null)
return false;
return ImageAnimator.CanAnimate(image);
}
public void AnimateImage()
{
if (!currentlyAnimating)
{
ImageAnimator.Animate(image, new EventHandler(this.OnFrameChanged));
currentlyAnimating = true;
}
} private void OnFrameChanged(object sender, EventArgs e)
{ } public override void OnRender(Graphics g)
{
if (image == null)
{
return;
}
if (isAnimateImage())
{
AnimateImage();
//更新到下一帧
ImageAnimator.UpdateFrames();
}
rect = new Rectangle(LocalPosition.X, LocalPosition.Y, Size.Width, Size.Height);
g.DrawImage(image, rect);
}
}
定时器设置为300毫秒
private void timer1_Tick(object sender, EventArgs e)
{
_mmapControl.Refresh();
}
最新文章
- IIS服务器多域名证书绑定443端口解决方案
- linux----------ab--性能测试工具
- 在input中实现点点点与当鼠标移上去时显示剩余的字
- openURL的使用方法:
- ViewPager + Fragment实现滑动标签页
- setjmp 与 longjmp
- 如何让Eclipse的智能提示像VS一样霸气
- 07.20 html5的适配flexible
- Visual Studio 2013使用SASS和Compass--SASS和Compass安装
- golang(5):编写WebSocket服务,client和html5调用
- AMD规范
- JavaScript绘制表格并将内容以JSON返回后台
- 项目架构开发:数据访问层之UnitOfWork
- Netty 4源码解析:请求处理
- java的断言(assert)
- 用Xstream时候遇到的两个小异常
- sql中的常见报错;
- scrapy 项目搭建
- cdnbest如何检查https证书是否有效
- Http/Https抓包工具Charles最新版破解教程(Windows|Mac)
热门文章
- Nginx 第三方模块的安装以及一致性哈希算法的使用
- 大型视频网站YouTube架构学习笔记
- Libx264 编码错误 Input picture width(320) is greater than stride (0)
- Windows 7 &;amp; Ubuntu 14.04完美双系统安装及系统引导配置----校园网Mentohust配置
- PHP部分--file图片上传服务器、图片路径存入数据库,并读取
- HDU 5336 XYZ and Drops 2015 Multi-University Training Contest 4 1010
- MonoTouch.Dialog简介
- XML解析PULL
- 【原创】Sublime Text 3快捷配置c++的编译,运行,gdb环境
- 开源无广告输入法Rime