程序基本描述:程序界面分为上下两块屏幕,上部是一台电视机,此电视机仅做展示用,无互动需求,下部分是一块Wacom的液晶数位屏,签名板的基本功能都在这块数位屏上实现。
程序的实现:1.需要有一个支持Wacom的本地扩展程序,这一部分在网上寻找到了一个可用的ANE,地址http://blog.magicalhobo.com/2011/10/01/air-3-native-extension-example-pentablet/ 里面有源码以及详细的使用说明,由于之前从未接触过ANE方面的使用,所以查了很多资料才解决实现。
2.AIR.跨屏全屏的实现,由于是一套程序两块屏幕,所以遇到个通过正常的全屏代码无法实现两块屏幕同时全屏的问题,后来在天地会论坛也找到了实现的方法:http://bbs.9ria.com/thread-147366-1-1.html 核心思想是,遍历当前程序所有可用的屏幕,新建一个Rectangle,并用其实例的union()方法将所有屏幕拼成一个Rectangle,再将此Rectangle实例作为程序的窗口,注意需要修改app.xml配置文件中的<systemChrome>none</systemChrome>;
3.签名功能:将鼠标当作画笔,利用MouseEvent.MOUSE_DOWN,MouseEvent.MOUSE_UP,MouseEvent.MOUSE_MOVE等事件配合AS3绘制类Graphics实现,压感什么的完全是Wacom的ANE来处理。
4.电视机上的图片轮播展示,主要是确定好舞台上存放图片的三个容器的位置坐标,并在舞台外也要放一个容器配合实现轮动。
5.保存功能:参考帮助中的AIR File类的相关内容,也可参考这里的一篇文章http://blog.csdn.net/merryken/article/details/7936825;
6。签完名后截图再保存,截取的时候主要涉及到元件转成位图的相关知识,这里需要注意bitmapdata的draw()方法和copyPixel()方法的区别,具体请参考帮助中的相关内容。
6.打印功能:参考帮助中PrintJob类的相关内容。