Flash动画数据转换为HTML5数据的方法

文档序号:6442373阅读:228来源:国知局
专利名称:Flash动画数据转换为HTML5数据的方法
技术领域
本发明涉及信息处理技术领域,尤其涉及一种Flash动画数据转换为HTML5数据的方法。
背景技术
现有移动终端中应用程序的嵌入式广告,大都是文字或静态的图片,给人的感觉比较死板,所以广告效果较差,即使使用gif格式图片取代静态的图片,但基于gif格式文件本身的要求和标准,其动画效果也非常有限。为了提高广告的动画效果,现有技术中可以将广告内容转换为Flash格式动画,进而在支持Flash格式的移动终端进行播放。但是其至少存在以下两个方面的缺陷:一方面,现有技术中Flash软件生成的产品在移动终端上的资源占用大、且采用flash播放器进行播放时,flash播放器可能会被利用漏洞,从而引起安全性的问题。另一方面,由于Flash存在的上述问题,现有技术中很多移动终端并不支持Flash格式文件的播放,如:苹果公司的移动终端(包括:最新和以往的IOS平台)都不支持Flash格式。针对上述缺陷,Adobe公司开发出一种可以将Flash动画数据转换为HTML5 (Hypertext Markup Language, HTML,文本标记语言)数据的 Wallaby (沙袋鼠)软件。但是该软件需要同时提供发布文件(即SWF文件)和源文件(即fla文件),并只支持米用Adobe Flash Professional CS5.5版本形成的Flash动画数据的转换。针对上述缺陷,Google (谷歌)公司也开发出一种可以将Flash数据转换为HTML5数据的SwifTy软件。但是该软件只能借助google浏览器进行在线转换,从而限制了本地脱机的使用;且转换的使用受限于网络状态,从而转换速度较慢。

发明内容
本发明解决的问题是提供一种Flash动画数据转换为HTML5数据的方法,既可以脱机转换,且转换速度较快;又可以兼容Adobe Flash的任意版本,且无需源文件。为了解决上述问题,本发明提供了一种Flash动画数据转换为HTML5数据的方法,包括:提供SWF格式的Flash动画文件,所述Flash动画文件包括多个媒体对象,每个媒体对象包括多帧数据;提取Flash动画文件的基本信息,形成HTML格式的基本文件;提取媒体对象对应的每巾贞数据的状态信息,形成XML (ExtensiveMakeupLanguage,可扩展标示语音)格式的状态文件;判断媒体对象中数据的类型;当媒体对象中数据的类型为位图时,加载所述媒体对象;当媒体对象中数据的类型为矢量图形时,提取所述媒体对象对应的矢量节点信息和贝塞尔曲线(B6Zier curve)信息,并通过HTML5进行重新绘制,得到更新后的媒体对象,加载更新后的媒体对象;根据所述HTML格式的基本文件和XML格式的状态文件,通过浏览器对加载的媒体对象进行还原,形成与Flash动画文件对应的HTML5数据。可选地,所述状态信息包括:属性、滤镜和遮罩状态。可选地,所述基本信息包括:舞台尺寸、背景颜色、影片总长度和影片帧频。可选地,所述更新后的媒体对象是通过调用HTML5的canvas接口实现的。可选地,所述位图的格式包括JPG格式或PNG格式。可选地,加载所述媒体对象包括调用Adobe AIR软件中的文件访问接口对所述媒体对象进行存储。可选地,所述矢量节点信息和贝塞尔曲线信息通过访问Adobe AIR软件中的图形接口(graphic接口)获取。可选地,所述进行还原包括:根据所述XML格式的状态文件,还原每帧数据的状态;根据所述HTML格式的文件,还原HTML5数据的基本信息。可选地,所述提取Flash动画文件的基本信息包括:将SWF文件映射为媒体容器,所述媒体容器包括动画舞台容器;从所述动画舞台容器中提取Flash动画文件的基本信
肩、O与现有技术相比,本发明具有以下优点:本发明提供了一种可以将Flash动画数据转换为HTML5数据的方法,先从SWF格式的Flash动画数据中提取基本信息、每帧数据的状态信息和位图或矢量节点信息和贝塞尔曲线信息;进而对矢量图形的媒体对象进行重新绘制;最后对加载的媒体对象进行还原即可形成与Flash动画文件对应的HTML5数据。一方面,可以脱机进行转换,从而无需受到网络条件的限制,进而可以提高转换的速度。另一方面,仅需Flash动画文件的SWF文件即可进行转换,无需提供源文件;且转换可以兼容Adobe Flash的任意版本,进而扩大了其应用范围。


图1为本发明实施方式中Flash动画数据转换为HTML5数据的方法的流程示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式
做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。正如背景技术部分所述,现有技术在将Flash动画数据转换为HTML5数据的过程中,存在以下缺陷:不能脱机转换,且转换速度慢;或者,需要同时提供SWF文件和源文件,仅支持采用Adobe Flash Professional CS5.5版本形成的Flash动画数据的转换。针对上述缺陷,参考图1所示,本发明实施方式提供了一种Flash动画数据转换为HTML5数据的方法,包括:步骤SI,提供SWF格式的Flash动画文件,所述Flash动画文件包括多个媒体对象,每个媒体对象包括多帧数据;步骤S2,提取Flash动画文件的基本信息,形成HTML格式的基本文件;步骤S3,提取媒体对象对应的每帧数据的状态信息,形成XML格式的状态文件;步骤S4,判断媒体对象中数据的类型;步骤S5,当媒体对象中数据的类型为位图时,加载所述媒体对象;当媒体对象中数据的类型为矢量图形时,提取所述媒体对象对应的矢量节点信息和贝塞尔曲线信息,并通过HTML5进行重新绘制,得到更新后的媒体对象,加载更新后的媒体对象;步骤S6,根据所述HTML格式的基本文件和XML格式的状态文件,通过浏览器对加载的媒体对象进行还原,形成与Flash动画文件对应的HTML5数据。本发明既可以脱机进行转换,从而无需受到网络条件的限制,进而可以提高转换的速度;仅需Flash动画文件的SWF文件即可进行转换,无需提供源文件;且转换可以兼容Adobe Flash的任意版本,进而扩大了其应用范围。下面进行详细说明。本实施例可以在Adobe AIR 3.0的运行环境下进行。需要说明的是,在本发明的其他实施例中,还可以在Adobe AIR的其他版本下进行。首先,提供待转换的Flash动画文件。其中,所述Flash动画文件为SWF格式。具体地,所述Flash动画文件可以包括多个媒体对象,如:动画文件中的一个人物就是一个媒体对象。每个媒体对象可以有多帧数据,如:动画文件中的一副静止的画面中一个人物的画面部分就是一个媒体对象(即一个人物)的一帧数据,连续的帧就形成动画。为简单起见,以下以Flash动画文件包括四个媒体对象,每个媒体对象包括100帧数据为例,但其不限制本发明的保护范围。需要说明的是,本实施例中Flash动画文件可以兼容Adobe Flash的任意版本,其对此不作限制,从而扩大了使用范围。接着,提取Flash动画文件的基本信息,形成HTML格式的文件。其中,所述基本信息可以包括:舞台尺寸、背景颜色、影片总长度和影片帧频。所述舞台尺寸由宽度和长度组成,其单位可以为像素(PX)、厘米或毫米等,如:宽度为300px,长度为500px。所述背景颜色可以是任意一种颜色,如:蓝色。所述影片总长度指的是该Flash动画文件的时间,如:1分钟10秒。所述影片帧频指的是该Flash动画文件每秒显示的画面数目,如:10帧/秒。本实施例可以将SWF文件映射为媒体容器,进而从媒体容器中提取所述基本信息。具体地,将SWF文件映射成MovieClip (视觉元素和动画容器),进而从stage (动画舞台容器)中提取该Flash动画文件的舞台尺寸、背景颜色、影片总长度和影片帧频。将SWF文件映射成MovieClip的具体过程对于本领域的技术人员是熟知的,在此不再赘述。在得到Flash动画文件的基本信息之后,形成包括所述基本信息的HTML格式的基本文件。
接着,提取媒体对象对应的每帧数据的状态信息,形成XML格式的状态文件。其中,所述每帧数据的状态信息可以包括:属性(如:位置坐标(X,Y)、缩放比率(scale)、旋转角度(rotation)、滤镜(filter)等)、滤镜和遮罩状态。具体地,可以采用以下步骤形成XML格式的状态数组:第一,建立一个“媒体对象库”,所述“媒体对象库”包括四个“对象状态库”,每个“对象状态库”包括一百个“状态数组”。第二,逐帧扫描SWF文件,提取每帧数据中每个媒体对象的状态信息记录到对应的“状态数组”。第三,将每个“状态数组”记录成XML格式,形成包括四百个XML格式“状态数组”的状态文件。接着,判断每个媒体对象中数据的类型。所述媒体对象中数据的类型包括位图和矢量图形。其中,所述位图(亦称为点阵图像或绘制图像,bitmap)是由像素(图片元素)的单个点组成的,其具体表现为放大后会失真。所述位图的格式包括JPG格式或PNG格式。其中,所述矢量图(vector graphics)是根据几何特性来绘制图形,其由矢量定义的直线和曲线组成,所述矢量可以是一个点或一条线,其具体表现为放大后不会失真。所述矢量图的格式包括:AI格式、⑶R格式、ra格式、SWF格式等。具体地,通过判断媒体对象中数据的格式就可以直接判断媒体对象中数据类型。在本发明的其他实施例中,还可以采用其他方法进行媒体对象中数据类型的判断,其对于本领域的技术人员是熟知的,在此不再赘述。接着,对类型为位图的媒体对象进行加载处理。其中,加载所述媒体对象包括调用Adobe AIR 3.0软件中的文件访问接口(Filereference API)将位图保存至一个文件夹中,如:自定义为images文件夹。该文件夹中位图的格式不变。接着,对类型为矢量图形的媒体对象进行处理。当媒体对象的类型为矢量图形时,首先提取所述媒体对象对应的矢量节点信息和贝塞尔曲线信息,并将获取的矢量节点信息和贝塞尔曲线信息记录并保存成XML格式的文件。具体地,所述矢量节点信息和贝塞尔曲线信息可以通过访问Adobe AIR软件中的graphic (图形)接口获取。然后,分析所述XML格式的文件中矢量节点信息和贝塞尔曲线信息,通过HTML5进行重新绘制,得到更新后的媒体对象,并加载更新后的媒体对象。具体地,所述更新后的媒体对象可以是通过调用HTML5的canvas接口重新绘制实现的。所述加载更新后的媒体对象指的是将更新后的媒体对象重新保存成XML格式的文件。需要说明的是,上述对位图或矢量图形的处理顺序可以变化。此外,为了在浏览器中播放HTML5格式的动画,还需要形成与所述Flash动画文件对应的文字数据,即CSS (Cascading Style Sheet,级联样式表)格式的文件夹,其对于本领域的技术人员是熟知的,在此不再赘述。至此,完成对Flash动画文件的分析和编译,根据输入的SWF文件得到了位图类型的媒体对象的文件夹(即images文件夹)、XML格式的状态文件、矢量图形类型的媒体对象的XML格式的文件夹、HTML格式的基本文件、CSS格式的文件夹。
接着,根据所述HTML格式的文件和XML格式的状态数组,对加载的媒体对象进行还原,形成与Flash动画文件对应的HTML5数据。具体地,所述进行还原可以包括:根据所述XML格式的状态文件,还原每帧数据的状态信息;且根据所述HTML格式的基本文件,还原HTML5数据的基本信息。最后,形成HTML5数据之后,就可以根据需要在HTML5浏览器中播放所述HTML5数据。具体地,播放所述HTML5数据可以包括:使用Javascript对每个所述媒体对象进行状态切换,以实现HTML5数据的动画播放。所述状态切换的频率等于Flash动画文件的基本信息中的所述影片帧频。至此,将Flash动画数据转换为了 HTML5数据。本实施例既可以脱机转换,且转换速度较快;又可以兼容Adobe Flash的任意版本,且无需源文件。虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
权利要求
1.一种Flash动画数据转换为HTML5数据的方法,其特征在于,包括: 提供SWF格式的Flash动画文件,所述Flash动画文件包括多个媒体对象,每个媒体对象包括多帧数据; 提取Flash动画文件的基本信息,形成HTML格式的基本文件; 提取媒体对象对应的每帧数据的状态信息,形成XML格式的状态文件; 判断媒体对象中数据的类型; 当媒体对象中数据的类型为位图时,加载所述媒体对象;当媒体对象中数据的类型为矢量图形时,提取所述媒体对象对应的矢量节点信息和贝塞尔曲线信息,并通过HTML5进行重新绘制,得到更新后的媒体对象,加载更新后的媒体对象; 根据所述HTML格式的基本文件和XML格式的状态文件,通过浏览器对加载的媒体对象进行还原,形成与Flash动画文件对应的HTML5数据。
2.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述状态信息包括:属性、滤镜和遮罩状态。
3.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述基本信息包括:舞台尺寸、背景颜色、影片总长度和影片帧频。
4.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述更新后的媒体对象是通过Adobe AIR调用HTML5的canvas接口实现的。
5.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述位图的格式包括JPG格式或PNG格式。
6.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,加载所述媒体对象包括调用Adobe AIR软件中的文件访问接口对所述媒体对象进行存储。
7.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述矢量节点信息和贝塞尔曲线信息通过访问Adobe AIR软件中的图形接口获取。
8.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述进行还原包括:根据所述XML格式的状态文件,还原每帧数据的状态;根据所述HTML格式的基本文件,还原HTML5数据的基本信息。
9.如权利要求1所述的Flash动画数据转换为HTML5数据的方法,其特征在于,所述提取Flash动画文件的基本信息包括:将SWF文件映射为媒体容器,所述媒体容器包括动画舞台容器;从所述动画舞台容器中提取Flash动画文件的基本信息。
全文摘要
一种Flash动画数据转换为HTML5数据的方法,包括提供SWF格式的Flash动画文件;提取Flash动画文件的基本信息,形成HTML格式的基本文件;提取媒体对象对应的每帧数据的状态信息,形成XML格式的状态文件;判断媒体对象中数据的类型;当媒体对象中数据的类型为位图时,加载所述媒体对象;当媒体对象中数据的类型为矢量图形时,提取所述媒体对象对应的矢量节点信息和贝塞尔曲线信息,并通过HTML5进行重新绘制,得到更新后的媒体对象,加载更新后的媒体对象;根据所述HTML格式的基本文件和XML格式的状态文件,通过浏览器对加载的媒体对象进行还原,形成与Flash动画文件对应的HTML5数据。本发明既可以脱机转换,且转换速度较快;又可以兼容Adobe Flash的任意版本,且无需源文件。
文档编号G06F17/30GK103176986SQ20111043105
公开日2013年6月26日 申请日期2011年12月20日 优先权日2011年12月20日
发明者庄玥, 薛华敏, 蒋彦, 张成文, 孙建 申请人:上海博泰悦臻电子设备制造有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1