CN1997191A - 一种在移动通讯终端中显示动画的方法 - Google Patents
一种在移动通讯终端中显示动画的方法 Download PDFInfo
- Publication number
- CN1997191A CN1997191A CNA2006101246790A CN200610124679A CN1997191A CN 1997191 A CN1997191 A CN 1997191A CN A2006101246790 A CNA2006101246790 A CN A2006101246790A CN 200610124679 A CN200610124679 A CN 200610124679A CN 1997191 A CN1997191 A CN 1997191A
- Authority
- CN
- China
- Prior art keywords
- communication terminal
- windows
- group
- data
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种在移动通讯终端中显示动画的方法,包括在移动通讯终端中创建一个透明的在屏幕最顶层的窗口组和在其下面创建一个动画组件两个部分,其具体步骤是:创建一个与窗口服务器的连接;创建一个透明的在屏幕最顶层的窗口组;在透明的窗口组上创建一个子图形;创建一帧的图像数据;将图像数据添加到子图形中;激活子图形;在子图形中添加一帧新的图像数据,如此反复,就能够在屏幕的任意区域上显示动画的效果。本发明可以在手机屏幕的任意位置显示任意形状的动画,并且可以随时改变该动画的位置和内容,从而解决了屏幕不够生动和有趣的问题,增强了屏幕和用户的互动性。
Description
技术领域
本发明属于电信领域移动通讯终端图像处理技术,具体地说是一种在移动通讯终端中显示动画的方法。
背景技术
在目前所使用的移动通讯终端(其典型为:手机、PDA)的屏幕中一般显示的是一个固定的所选画面,屏幕显示不够生动和有趣,屏幕和用户之间的互动性比较差。
发明内容
本发明的目的在于公开一种在移动通讯终端屏幕的任意位置显示任意形状的动画,并且可以随时改变该动画的位置和内容的在移动通讯终端中显示动画的方法,以克服上述的不足。
为了实现上述目的,本发明的方法包括在移动通讯终端中创建或者获得一个透明的在屏幕最顶层的窗口组或窗口和在其下面创建一个动画组件两个部分,其具体步骤是:
第一步骤:创建一个与窗口服务器的连接;
第二步骤:通过已有的与窗口服务器的连接,创建一个透明的在屏幕最顶层的窗口组;
第三步骤:在已有建立的一个透明的在屏幕最顶层的窗口组或窗口上创建一个子图形;
第四步骤:创建一帧的图像数据;
第五步骤:将这一帧的图像数据添加到创建的子图形中;
第六步骤:激活这个子图形,就能够在屏幕的任意区域上显示图像。
上述第六步骤后返回到第四步骤,就能添加一帧新的图像数据,如此反复,就能够在屏幕的任意区域上显示动画的效果。
上述第四步骤中图像数据包括一帧的图像原始数据和图像遮盖区域数据。
上述第五步骤中图像数据包括显示延时的数据。
本发明基于创建或者获得一组透明的在最顶层的窗口组或窗口并在其下面创建一个动画组件的方法,用此方法可以在手机屏幕的任意位置显示任意形状的动画,并且可以随时改变该动画的位置和内容。从而解决了屏幕不够生动和有趣的问题,增强了屏幕和用户的互动性;并且解决了在任意窗口下显示图案和信息的问题,给使用者方便快捷的信息提醒和提供方式。
附图说明
附图为本发明方法的流程图。
具体实施方式
下面结合附图和实施利对本发明作进一步的描述,但下述实施例不应理解为对本发明的限制。
本发明的方法包括在移动通讯终端中创建或者获得一个透明的在屏幕最顶层的窗口组或窗口和在其下面创建一个动画组件两个部分。
第一部分为在移动通讯终端中创建或者获得一个透明的在最顶层的窗口组或窗口,包括:创建窗口组前的准备、窗口组的创建、窗口组的获得、窗口的创建;
第二部分为创建一个动画组件,包括:创建一个建立在窗口组或窗口基础上的子图形,接着创建一帧的图像数据,然后将其添加到子图形上,最后激活这个子图形。
其中:第一部分——创建或者获得一组透明的在最顶层的窗口组或窗口,包括以下几个步骤:
第一步骤:创建一个与窗口服务器的连接。其目的是为创建一个透明的在最顶层的窗口组做好准备工作,使其能够到达屏幕的最顶层。
第二步骤:通过已有的与窗口服务器的连接,来创建一个透明的在最顶层的窗口组。其目的有三个:第一、可以达到透明的效果;第二、可以使这些窗口组出现在屏幕的最顶层;第三、给子图形的添加提供平台。
有些移动通讯终端中会自带建立一个透明的在最顶层的窗口组,那么就直接使用该窗口组即可;有些移动通讯终端中窗口也可以实现透明和在最顶层出现,那么就直接创建该窗口即可,如:C++程序里的RBlankWindow。
第二部分——创建一个动画组件,包括以下几个步骤:
第一步骤:在已有建立的一个透明的在最顶层的窗口组或窗口上创建一个子图形。该子图形可以在窗口组或窗口的任意区域显示任意形状的动画。
第二步骤:创建一帧的图像数据,其中包括一帧的图像原始数据和图像遮盖区域数据。其中图像原始数据用来描述显示到屏幕的内容,图像遮盖区域数据用来描述图像原始数据的哪些部分显示到屏幕上,哪些部分不显示到屏幕上,也就是哪些区域不透明,哪些区域透明。将这一帧的图像数据设定一个延时。这个延时就是这帧图像数据会出现的时间。
第三步骤:将这一帧的图像数据,包括延时的数据一起添加到创建的子图形中。此时移动通讯终端中的图像效果就准备完毕了。
第四步骤:激活这个子图形。此时图像就能够在屏幕的任意区域显示了。
第五步骤:只要继续按照步骤二和步骤三,就能添加一帧的图像数据,这样就能够在屏幕的任意区域上出现动画的效果。
实施例1:
在手机屏幕上显示一个飘移并不断移动触角的八脚章鱼的动画。
要实现一段漂浮在手机屏幕最顶端的动画,首先需要解决的问题就是要搭建一个平台,该平台要具有以下的条件:1)必须是窗口或是窗口组;2)该窗口或窗口组必须在手机屏幕的最顶层,即所有窗口之上;3)该窗口和窗口组要为透明。
为了搭建这个平台,满足上述的条件,本发明采取了以下两种方法来实施。
第一种实施方式,创建一个透明的在屏幕最顶层的窗口组。
第一步骤:创建一个与窗口服务器的连接:
在创建一个透明的在屏幕最顶层的窗口组时,首先需要完成的就是创建一个与窗口服务器的连接。创建该连接的主要目的是建立一个通道,使得即将创建的窗口组和窗口服务器能够联系起来,为实现窗口组出现在所有窗口的最顶层做好准备。这个连接的主要步骤有两个:
1)声明一个窗口服务器的会话对象;
其程序代码为:
RWsSession ws;
2)通过此会话对象连接到窗口服务器。
其程序代码为:
ws.Connect();
第二步骤:创建一个透明的在最顶层的窗口组:
当第一步的连接工作完成后,通过已有的连接,就能够创建出一组透明的在最顶层的窗口组了。其步骤有两个:
1)通过窗口服务器的会话对象来构造一个窗口组对象;
其程序代码为:
RWindowGroup wg(ws);
User::LeaveIfError(wg.Construct((TUint32)&wg,EFalse));
2)通过设置此窗口组的次序位置(ordina1 position)为最前,优先级(priority)为最高,此时窗口组被设置为屏幕顶层。
其程序代码为:
wg.SetOrdinalPosition(10,ECoeWinPriorityAlwaysAtFront+10)。
第二种实施方式,获得一个透明的窗口组并将它设置为最顶层。
有些程序会自带建立一个透明的窗口组,那么就直接使用该窗口组并将它的优先级设置一下即可。如:在Symbian的APP程序中就可以直接获得程序的透明窗口组。具体步骤分为两步:
1)在Symbian的APP程序中,直接通过应用程序的控件环境(CEikonEnv)来获得应用程序的窗口组对象。
其程序代码为:
RWindowGroup&wg=CEikonEnv::Static()->RootWin();
2)与上面的第一种实施方式里设置透明窗口组到最顶层的方法一样,更改此窗口组的次序位置和优先级就能够设置为最顶层
平台搭建好后,就要在该平台上创建一个子图形(RWsSprite)了。所谓的子图形其实也是一个子窗口,不同于以往的子窗口的是,它可以在窗口组的任意区域显示任意形状任意大小的图片。而以往的子窗口大多数都是矩阵型的,这样的子窗口出现在窗口组里会显示出矩形范围的图片。这样会使得不需要的图片背景也出现在手机屏幕上,多余的矩形部分会遮盖原屏幕上的图案。因此,将子图形添加到透明的最顶层的窗口组里的这个方案,解决了传统窗口解决不了的问题。
创建一个子图形的步骤:
1)通过前面的窗口服务器的会话对象来构造一个子图形对象。
其程序代码为:
RWsSprite sprite(ws);
2)通过前面的窗口组来完成子图形的构造。
其程序代码为:
sprite.Construct(wg.Wg(),TPoint(0,0),ESpriteNoChildClip);
当子图形创建完毕后,就是最后制作动画的工序,称之为创建一帧的图像数据,包括一帧的原始图像数据、遮盖区域数据和一帧的延时数据。其中原始图像数据即是显示到手机屏幕之前的初始内容;遮盖区域数据是用来描述图像数据的,它将决定哪些部分显示到屏幕上,哪些部分不显示到屏幕上,也就是哪些区域不透明,哪些区域透明;一帧的延时数据即是这一帧的动画出现和保持的时长。
该实施方式的具体步骤如下:
1)声明一帧的图像数据。
其程序代码为:
TSpriteMember spriteMember;
spriteMember.iInvertMask=EFalse;
spriteMember.iOffset=TPoint(0,0);
2)设置这帧图像数据的原始图像数据(八角章鱼),将其转化为一个位图。这个位图的原始图像数据可以从图像文件中获得,或者直接从内存的一块区域中取得。
从文件中取得原始图像数据,来创建帧图像的的程序代码为:
spriteMember.iBitmap=CreateBitmapL(szBitmap,m-pScreenDevice->DisplayMode());其中CreateBitmapL函数实现从szBitmap所指明的文件中读取原始图象数据,把图象装载到内存中,然后指明帧图像的原始图像数据iBitmap就是刚才装载的数据。
3)设置这帧图像数据的遮盖区域数据(遮盖八角章鱼轮廓以外的背景)。遮盖区域数据的图像数据可以从图像文件中获得,也可以通过对帧图像的原始数据进行计算获得,或者直接从内存的一块区域中取得。
过对帧图像的原始数据进行计算获得的程序代码为:
spriteMember.iMaskBitmap=GenerateMaskL(spriteMember.iBitmap);其中GenerateMaskL函数完成计算帧图像的原始数据,自动生成遮盖区域数据,该数据表明一个图像的哪个部分显示,哪个部分透明。
4)设置这帧图像数据的延时
其程序代码为:
spriteMember.iInterval=TTimeIntervalMicroSeconds32(1000000);
5)当创建一帧的图像数据之后,就将其添加到子图形中去:
其程序代码为:
sprite.AppendMember(spriteMember);
6)激活子图形
其程序代码为:
sprite.Activate();
上述所有的程序代码都是在移动电话Symbian系统中,用C++语言建立的
这样一帧的图像数据就可以在屏幕最顶层显示了。
只要不断的添加新的一帧的图像数据,在图像数据里,改变原始数据的形象,比如:原来的数据里章鱼的触角是散开的,而后一帧的图像里章鱼的触角会有点变化。输入较短的延时后,就会看到八脚章鱼的触角在不断的摆动;将触角在不断的摆动的八脚章鱼改变其输入到子图形里的位置,在合理的延时设置下,就会看到触角在不断的摆动的八脚章鱼在屏幕上不断飘移,形成动画。
实施例2:
在手机屏幕固定位置上显示一个不断移动触角的八脚章鱼的图像。
将实施例1中将触角在不断的摆动的八脚章鱼不改变其输入到子图形里的位置,其他方法与实施例1相同,即能完成。
实施例3:
在手机屏幕上显示一个不断飘移的形象静止不动的八角章鱼图像。
在实施例1中不改变原始数据八角章鱼的形象,而是只改变其输入到子图形里的位置,在合理的延时设置下,就会显示出八角章鱼在屏幕上不断的飘移。
实施例4:
在手机屏幕的固定位置上显示一个形象静止不动的八角章鱼图像。
在实施例1中,既不改变原始的图像形象,也不改变图像输入到子图形里的位置,即能完成。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (9)
1、一种在移动通讯终端中显示动画的方法,包括在移动通讯终端中创建或者获得一个透明的在屏幕最顶层的窗口组或窗口和在其下面创建一个动画组件两个部分,其具体步骤是:
第一步骤:创建一个与窗口服务器的连接;
第二步骤:通过已有的与窗口服务器的连接,创建一个透明的在屏幕最顶层的窗口组;
第三步骤:在已有建立的一个透明的在屏幕最顶层的窗口组或窗口上创建一个子图形;
第四步骤:创建一帧的图像数据;
第五步骤:将这一帧的图像数据添加到创建的子图形中;
第六步骤:激活这个子图形,就能够在屏幕的任意区域上显示图像。
2、如权利要求1所述的在移动通讯终端中显示动画的方法,其特征在于:第六步骤后返回到第四步骤,添加一帧新的图像数据,如此反复,就能够在屏幕的任意区域上显示动画的效果。
3、如权利要求1所述的在移动通讯终端中显示动画的方法,其特征在于:第四步骤中图像数据包括一帧的图像原始数据和图像遮盖区域数据及显示延时的数据。
4、如权利要求1所述的在移动通讯终端中显示动画的方法,其特征在于:第一步骤连接的过程有两个:
1)声明一个窗口服务器的会话对象;
2)通过此会话对象连接到窗口服务器。
5、如权利要求1所述的在移动通讯终端中显示动画的方法,其特征在于:第二步骤创建过程为:
1)通过窗口服务器的会话对象来构造一个窗口组对象;
2)通过设置此窗口组的次序位置为最前,优先级为最高,此时窗口组被设置为屏幕顶层。
6、如权利要求1所述的在移动通讯终端中显示动画的方法,其特征在于:第三步骤创建一个子图形的过程为:
1)通过窗口服务器的会话对象来构造一个子图形对象;
2)通过窗口组来完成子图形的构造。
7、如权利要求1或3所述的在移动通讯终端中显示动画的方法,其特征在于:第四步骤创建一帧图像数据的过程为:
1)声明一帧的图像数据;
2)设置这帧图像数据的原始图像数据,将其转化为一个位图;
3)设置这帧图像数据的遮盖区域数据;
4)设置这帧图像数据的延时。
8、如权利要求7所述的在移动通讯终端中显示动画的方法,其特征在于:位图的原始图像数据从图像文件中获得或者直接从内存的一块区域中取得。
9、如权利要求7所述的在移动通讯终端中显示动画的方法,其特征在于:遮盖区域数据的图像数据从图像文件中获得或通过对帧图像的原始数据进行计算获得,或者直接从内存的一块区域中取得。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101246790A CN1997191A (zh) | 2006-09-30 | 2006-09-30 | 一种在移动通讯终端中显示动画的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101246790A CN1997191A (zh) | 2006-09-30 | 2006-09-30 | 一种在移动通讯终端中显示动画的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1997191A true CN1997191A (zh) | 2007-07-11 |
Family
ID=38252081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101246790A Pending CN1997191A (zh) | 2006-09-30 | 2006-09-30 | 一种在移动通讯终端中显示动画的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1997191A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145324A1 (zh) * | 2009-09-24 | 2010-12-23 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及移动手持设备 |
CN102306389A (zh) * | 2011-08-03 | 2012-01-04 | 湖南互动传媒有限公司 | 一种手机动漫人物及背景的浮雕效果实现方法 |
CN102053867B (zh) * | 2009-10-28 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 一种动态切换图片的方法和装置 |
CN106020358A (zh) * | 2010-01-06 | 2016-10-12 | 苹果公司 | 透明电子设备 |
-
2006
- 2006-09-30 CN CNA2006101246790A patent/CN1997191A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145324A1 (zh) * | 2009-09-24 | 2010-12-23 | 中兴通讯股份有限公司 | 一种不规则窗口实现方法及移动手持设备 |
CN102053867B (zh) * | 2009-10-28 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 一种动态切换图片的方法和装置 |
CN106020358A (zh) * | 2010-01-06 | 2016-10-12 | 苹果公司 | 透明电子设备 |
CN106020358B (zh) * | 2010-01-06 | 2019-06-07 | 苹果公司 | 透明电子设备 |
US10657857B2 (en) | 2010-01-06 | 2020-05-19 | Apple Inc. | Transparent electronic device |
CN102306389A (zh) * | 2011-08-03 | 2012-01-04 | 湖南互动传媒有限公司 | 一种手机动漫人物及背景的浮雕效果实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103530018B (zh) | 安卓操作系统中微件界面的建立方法及移动终端 | |
US9940404B2 (en) | Three-dimensional (3D) browsing | |
CN104106037B (zh) | 投影仪,图形输入·显示装置,便携终端和程序 | |
CN102662664B (zh) | 界面动画实现方法及系统 | |
CN111145326A (zh) | 三维虚拟云模型的处理方法、存储介质、处理器及电子装置 | |
CN104035760A (zh) | 跨移动平台实现沉浸式虚拟现实的系统 | |
WO2012092272A2 (en) | Companion window experience | |
CN113099298A (zh) | 虚拟形象的改变方法、装置和终端设备 | |
CN1997191A (zh) | 一种在移动通讯终端中显示动画的方法 | |
CN107180445B (zh) | 一种动画模型的表情控制方法和装置 | |
CN110704058A (zh) | 页面渲染方法、装置、存储介质、处理器及电子装置 | |
CN109508090A (zh) | 一种具备可交互性的增强现实展板系统 | |
US20110018890A1 (en) | Computer graphics method for creating differing fog effects in lighted and shadowed areas | |
CN101976195B (zh) | 一种设置用户界面的方法及装置 | |
KR20160050295A (ko) | 전자 장치 및 그의 디지털 수채 영상 재현 방법 | |
CN112306480A (zh) | 一种可视化编程控制方法、系统、装置及计算机存储介质 | |
Lee et al. | Immersive authoring of Tangible Augmented Reality content: A user study | |
CN111701232B (zh) | 游戏画面的处理方法、装置及电子装置 | |
WO2008010707A1 (en) | Image coloring device comprising a computer | |
US20230326160A1 (en) | Editing a virtual reality space | |
CN112181394A (zh) | 三维建筑模型构件创造方法、装置及设备 | |
CN111167119A (zh) | 一种游戏开发展示方法、装置、设备及存储介质 | |
CN116843809A (zh) | 针对虚拟角色的处理方法和装置 | |
CN115471592A (zh) | 一种动态图像的处理方法、系统 | |
TW201101077A (en) | Constructing method and system for 3D environmental appearance simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |