[发明专利]一种实现水波纹特效的方法和装置无效
申请号: | 201010159883.2 | 申请日: | 2010-04-28 |
公开(公告)号: | CN101814006A | 公开(公告)日: | 2010-08-25 |
发明(设计)人: | 曹会通 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F3/048 | 分类号: | G06F3/048;G06F3/14 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 蒋雅洁;王黎延 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 水波 特效 方法 装置 | ||
1.一种实现水波纹特效的方法,其特征在于,该方法包括:
在界面设定水波纹特效的矩形区域,获取所述矩形区域内的图像作为原图像;设置原图像所有像素的初始水波高度值及石头的参数;
在移动终端的界面上有点击发生时,以被点击的像素位置作为投石点,周期性产生下一帧驱动消息,在每次下一帧驱动消息产生时,获得下一帧图像各像素的水波高度值并记录;
根据下一帧图像各像素的水波高度值,获取像素偏移量,将原图像各像素按照像素偏移量重新进行位置排列得到下一帧图像,并显示。
2.根据权利要求1所述的方法,其特征在于,所述获取像素偏移量,将原图像各像素按照像素偏移量重新进行位置排列得到下一帧图像,具体为:将每个像素的左右两个像素的水波高度值的差值右移指定位,作为水平偏移量,上下两个像素的水波高度值的差值右移指定位,作为垂直偏移量,下一帧图像中,每个像素都由该像素的坐标加上相应的水平偏移量和垂直偏移量后,所对应的原图像上的像素填充。
3.根据权利要求1所述的方法,其特征在于,所述获得下一帧图像各像素的水波高度值并记录具体为:在第一次下一帧驱动消息产生时,根据投石点及设置的石头的大小,在石头覆盖范围内的像素的水波高度值由初始水波高度值与根据石头重量产生的水波高度值相加得到,其他像素的水波高度值仍为初始水波高度值,记录各像素的水波高度值;
在第一次以后的每次下一帧驱动消息产生时,对于当前帧图像每个位置的像素,取其周围的多个像素的水波高度值的和,右移指定位后,减去前一帧图像所述位置的像素的水波高度值,将得到的结果作为下一帧图像相应位置像素的水波高度值,并记录下一帧图像各像素的水波高度值。
4.根据权利要求3所述的方法,其特征在于,当水波纹正在进行的同时,又有投石点出现时,该方法进一步包括:将当前帧图像各像素的水波高度值作为初始水波高度值,重新从第一次下一帧驱动消息产生时进行处理。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:设置帧计数器和跳帧条件,根据帧计数器对下一帧驱动消息的计数值,在满足跳帧条件时,跳过此次的下一帧驱动消息。
6.根据权利要求5所述的方法,其特征在于,该方法进一步包括:产生水波蔓延的衰减效果,具体为:对每次得到的水波高度值不为0的像素对应的水波高度值都乘以一个小于1的系数。
7.根据权利要求6所述的方法,其特征在于,该方法进一步包括:产生水波在边沿处弹回的效果,具体为:在将原图像各像素按照像素偏移量重新进行位置排列时,将加上像素偏移量后,超出矩形区域的坐标映射到矩形区域内,下一帧图像的相应位置的像素由映射到矩形区域内的坐标所对应的原图像的像素填充。
8.一种实现水波纹特效的装置,其特征在于,该装置包括:初始设置模块、投石处理模块、驱动消息模块、显示模块、存储模块、投石点模块;其中,
初始设置模块,用于在界面设定水波纹特效的矩形区域,获取所述矩形区域内的图像作为原图像;设置原图像所有像素的初始水波高度值及石头的参数;
投石点模块,用于获取移动终端界面上被点击的像素位置作为投石点,通知投石处理模块和驱动消息模块;
投石处理模块,用于获得下一帧图像各像素的水波高度值,并通知存储模块;
驱动消息模块,用于周期性产生下一帧驱动消息给显示模块;
显示模块,用于通知投石处理模块,并根据投石处理模块获得的下一帧图像各像素的水波高度值,获取像素偏移量,将原图像各像素按照像素偏移量重新进行位置排列得到下一帧图像;将得到的下一帧图像显示到界面;
存储模块,用于记录投石处理模块得到的水波高度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010159883.2/1.html,转载请声明来源钻瓜专利网。