C#画图动画的思路?

yizhixiaozhu 2018-12-11 12:26:05
有一个这样的项目,想用图片和动画的方式来显示停车场车位的情况,有一张某一层停车场的平面图,上面有详细的这一层的结构和每个车位的位置,车位上装了感应器,当有车进入车位后,后台会感应到,然后在该车位的上面显示一个有车的图标,如果车辆驶离了该车位,则显示空车位的图标,需要动态的变换。可能图片上面还会有一些箭头的图标,不停的闪烁,提示什么的,如果我用winform来做的话,该如何做?比如先画一张整层的车位结构图,作为背景,然后记录下每个车位的在图片里面的位置,当哪个车位被占用的时候,动态的根据车位的位置,来画一张被占用的标志图片上去?但是如果车辆驶离后,该咋把这个图片给去掉?
这个可能对于做游戏的同学很简单,但是我没有做过,哪位大虾能给个思路吗?
多谢了
...全文
267 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
吹风的兔子 2018-12-21
  • 打赏
  • 举报
回复
似乎一个 控件, 完全手写重绘 就能实现 相关功能。 当然,这个需要 GDI功底。 按部就班,PictureBox、Panel、Button、 Gif 实现吧 —— 这个不难。
eggplane 2018-12-17
  • 打赏
  • 举报
回复
我觉得没那么复杂,就用Button+GIF图片就能实现,各种箭头是一个button ,有车没车是一个button+Gif ,然后用代码控制button可见性和GIF图片切换就可以。
xuzuning 2018-12-12
  • 打赏
  • 举报
回复
与 picturebox 没多大关系
任何控件都有绘图设备(Graphics),绝大多数控件都可以指派背景图
控件在 Paint 事件到来时,都必须重新绘制控件的画面(背景除外),因此不存在画面擦除的问题
用 Graphics.DrawImage 在指定位置绘制图标就可以了
yizhixiaozhu 2018-12-12
  • 打赏
  • 举报
回复
感谢各位的解答! 可能用背景图片比较好些,当某个车位上有车辆驶入的时候,需要在这个图片上的这个车位上在加一个有车的图标,这个时候还要准确找到这个车位再图片里面的位置,所以应该要首先保存所有车位的坐标,然后在这个图片上的这个位置上动态加载一个有车的图标(这个时候用picturebox应该可以),如果不需要加载无车的时候的图标的话,直接把这个picturebox去掉就可以了?不知道还有没有其他的加载图片的方式?
cde32 2018-12-12
  • 打赏
  • 举报
回复
背景图是否显示,可以用车位感应器状态,按0和1直接控制。
threenewbee 2018-12-11
  • 打赏
  • 举报
回复
datagridview就可以近似模拟下
MXHai123 2018-12-11
  • 打赏
  • 举报
回复
全局背景可以用一个picturebox控件,将停车场的平面图放在这个控件上,显示有车和没车分别用一张图标表示,根据你传上来的信号判断加载哪一张图标。。最后是箭头闪烁的问题,这个可以采用一个定时器来实现。根据不同的场景来控制定时器的状态。
liusa1997 2018-12-11
  • 打赏
  • 举报
回复
其实动画都是由一个一个的帧拼组成的,所以我们一般是先准备多个图片,然后开始放入第一张图片,然后设置间隔时间(time定时器)来获取文件下的第二张图片,依次遍历然后遍历到最后将索引重新返回到初始又开始新一轮遍历
游北亮 2018-12-11
  • 打赏
  • 举报
回复
闪烁效果也很简单,前景里显示箭头,隔一秒隐藏,再隔一秒显示,就达到你要的闪烁了。
xuzuning 2018-12-11
  • 打赏
  • 举报
回复
你已想到背景图,那么除了背景图就是前景图了
所有前景图都是在 OnPaint 事件的响应方法中绘制的,就没有了什么擦除图形的烦恼了
吉普赛的歌 2018-12-11
  • 打赏
  • 举报
回复
加一个 imageList , 一张 占用 图片 , 一张 空位 图片。 车离开了, 把图片换一下就是了。

110,525

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧