编程实战——电影管理器之界面UI及动画切换

在前文“编程实战——电影管理器之利用MediaInfo获取高清视频文件的相关信息”中提到电影管理器的目的是方便播放影片,在想看影片时不需要在茫茫的文件夹下找寻。

 

我对电影管理器的想法如下:

1、可以全键盘操作(不依赖鼠标),最好是利用键盘上的小数字键区就能完成全部操作。

2、基于HTPC的全屏操作,故软件的大小为1920*1080

3、模仿时下流行的“磁贴”效果。

 

下图是本软件的初步的界面UI

bg

解释一下:

1、HTPC的屏幕是1920*1080,在软件设计的时候,由于电脑的屏幕没那么大,初步设计为960*540,等调试完全没有问题后,再将分辨率调成1920*1080。

2、整个屏幕分为上下两个部分。上部是类别信息(上图中顶部的黑条,目前是空在那儿),下部是电影信息的磁贴

3、磁贴一共3*3=9个,分别用1-9标示,对应小数字键盘上的数字键,设想是按相应的数字键,调用系统播放器播放相应的影片

4、由于电影的数量众多,利用数字小键盘区上的/、*键实现电影列表的左右切换;利用-、+键实现电影列表的上下切换

 

现在的流行的UI,在列表切换的时候,都会有一段动画的切换效果,以避免呆板的效果。

 

下面就给出动画切换的实现代码


    Private  Sub TransFilm(Bmp1 As  Bitmap, Bmp2 As  Bitmap)
        Dim I As  Integer
        Dim X As  Integer

        Dim Steps As  Integer = 35

        _IsDrawing = True

        _G.SetClip( New  Rectangle(0, 30, 960, 510))

        For I = 0 To Steps

            X = Int(( Math.Cos(I / Steps * Math.PI) - 1) * 480 + 0.5) 

            _G.DrawImageUnscaled(Bmp1, X, 30)
            _G.DrawImageUnscaled(Bmp2, X + 960, 30)

            PrivatePaint()

            'Threading.Thread.Sleep(20)

        Next

        _G.ResetClip()
        _IsDrawing = False
    End  Sub

首先,将要切换的2个电影列表绘到2个Bitmap对象(上面的代码没有显示描绘的代码,作为参数传入到方法中)。

所谓的动画,就是把动画拆成若干步,然后把每一步绘制到界面上,在每一步中间加上Threading.Thread.Sleep(20),使动画在不同的机器上动画的时间不会相差太大。

 

不过上面的代码,有这几个问题,不太好解决。写在这也是向网友求教,看看有没有啥好的解决方法

1、加上Threading.Thread.Sleep(20)后,在参数大于20,有频闪的现象。我已经用了双缓冲技术,_G就是在内存中开辟的缓冲区,在绘图完成后,用PrivatePaint方法把_G的内容绘制到WinForm上

2、把这句话注释后,虽然动画看起来快了很多,但是动画很流畅,没有频闪的现象。不过在Steps参数改成超过40后,还是有一丝闪烁。

 

有网友能给出比较好的VS的动画教程么?也考虑到也许用Directx.Direct2D实现动画效果比较好,只是相关的资料找寻比较少而作罢。

 

曾经考虑用WPF实现动画,不过相关的资料找寻比较少而作罢。不过WPF和WP7、WP8、IOS、Android等技术相似度比较高。在本软件的首个版本开发后,可以考虑用WPF技术再开发一个版本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件类别:国产软件/媒体管理 软件大小:1573KB 软件授权:免费版 软件语言:简体中文 运行环境:Win9x/NT/2000/XP/Vista 简介: FilmDir (电影管理器)是具有多种风格的一个电影管理软件,适合在个人电影收藏整理、网吧电影菜单等各种方面使用;操作简单,附带本地影片批量录入功能,自动搜索影片、图片、介绍等功能,支持在线采集功能;最重要的一点是,FilmDir能自动列出存在与不存在的电影,当不存在的电影系统会跳到你需要的影视信息。整理电影特别不容易,不过有了这款软件它能轻松的帮你收集电影资料;而不需要去架设很复杂的服务器,如果你是网吧用户,你可以在你的电影服务器中直接共享电影目录与此程序的目录,使用本程序自带的一个程序调用出电影菜单。如果你是个人爱好收集电影用户,你可以使用本系统的电影管理系统来管理你的电影,只要轻松扫描一遍,然后批量入库,以后就可以轻松的打开此电影菜单观看电影了,而不需在一部一部的去搜索与预览,只要直接在菜单搜索就可以找到你需要看的电影。更多功能在不段的努力完善中,敬请期待。管理进入方式,按(WIN F3)组合键,WIN就是微软的哪个图标键。首此输入密码admin,再菜单中可修改,如果你是网吧用户,你决定要使用本系统请[email protected]联系,提供网吧IP就可换取标题更改与无提示版。另外说明下,演示中只有8部电影信息,所以很多功能测试不出来,如果你正在要测试请列入更多数据,当然,你可以使用本地电影扫描功能入库。数据库中本带21580部电影信息,因数据太庞大无法提供下载。关于报错问题提示,一般这样情况你重启软件就可以解决。...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值