用c#和GDI+实现杂志翻页动画效果

 

说明:以前本人参与个一个电子杂志项目,当时要求实现模拟现实生活中的杂志翻页动画效果,别人推荐了这篇文章,最后达到了我想要的效果,今天尝试把这篇文章翻译了一下。希望对英语水平不太好的同行有帮助。如果你的英语水平足够好,我推荐你阅读英文原文,网址是:http://www.codeproject.com/KB/GDI-plus/TurnThePage.aspx,同时希望大家原谅本人的翻译水平。
 

介绍

 

1 翻页效果
这篇文章用来介绍如何在电子书或者电子相册中并列显示图片时创建一种翻页效果,这种翻页效果模仿了现实中的书本翻页情况。
 
背景
写作这篇文章的灵感来自于一个可重用的用于显示图片的组件的需求。我使用了C#和GDI+来提高我对.net下图形图象编程的理解。
 
创建这种效果的技术背景来自于一篇文章《FalshMX中的翻页效果》,网址是: http://www.oreillynet.com/pub/a/javascript/2004/09/03/flashhacks.html ,作者是 Sham Bhangal Sham 在文章里如何在动画效果中使用对称线来控制页面的可见部分。尽管在 Flash MX 中和在 GDI+ 中的处理有些不同,但是利用对称线来计算页面的可见部分这个概念是相同的。
 
在这篇文章中,我们假定第3页和第4页是当前页,并且下一个动作是要翻到第5页和第6页。换句话说,我们要展现的是第4页的翻页效果。
 
动画技巧

下图阐述了在整个动画中的关键区域和变化区域。

 

图2 关键区域和参数
整个翻页动画可以概括为:
1、完全绘制出第3页和第4页。在绘制完成之后,B和C部分将会遮挡住第4页的原来可见部分。
2、计算出对称线和B和C的裁剪区域。
3、绘制B部分。这是下面的一页的部分区域(第6页)。
4、根据热点进行相应转换,并且进行相应旋转。
5、绘制C部分。这是第4页在翻页过程中显示的它的背面(第5页)的内容。
 
当前页
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值