一种仿真图形混合处理的方法技术

技术编号:18051193 阅读:56 留言:0更新日期:2018-05-26 08:46
本发明专利技术涉及图形混合处理技术领域,提出了一种图形混合处理的模拟仿真的方法。在芯片FPGA验证阶段,一般需要PC环境仿真图形混合处理的效果。传统的方法是存在透明图层的API接口使用限制,导致在Alpha分量达到透明条件时,黑色和白色并不会透明显示,满足不了Alpha混合的透明仿真效果。本发明专利技术使用利用两个32Bit格式Buffers的图形仿真硬件图层间Alpha混合的不同透明效果,为硬件设计提供新的仿真方法。按照本发明专利技术的方法,突破PC环境API接口图层间Alpha混合处理的使用限制,提高仿真环境与实际硬件行为的契合程度,为工程人员提供一种新的图层混合处理的仿真及调试方法。

【技术实现步骤摘要】
一种仿真图形混合处理的方法
本专利技术涉及图形混合处理
,特别涉及图形混合处理的模拟仿真。
技术介绍
在一般GUI窗口系统上,通常是由若干个图层进行叠加处理,通过不同的像素元素计算产生不同的组合效果,尤其以Porter-DuffAlpha混合的应用较为广泛。Porter和Duff是两个人名,这两个人在1984年一起写了一篇论文,论述了如何实现不同数字图像的RGBA四个分量像素之间是如何进行混合的,提出了多种像素混合的模式。图1选取了部分Porter-Duff像素混合的模式范例,它们根据Porter-Duff公式对像素RGBA四个分量做运算,得出最终混合后的像素值,计算公式为:,其中的和表示源和目标像素的RGB颜色分量;和表示源和目标像素的Alpha分量;表示经过模式混合处理后的Alpha值,公式定义为:,其中的和在混合模式中表示为常量,根据不同的混合模式,直接按图1的区域103所代表的常量值替换公式对应的变量即可;操作模式类型如图1的区域101,包括clear,src,dst,srcoverdst等,这里选取了Porter-Duff公式里的7种操作模式做代表说明;操作模式效果示意图如图1的区域102。对嵌入式系统来说,在芯片FPGA验证阶段之前,可以先在PC上模拟硬件图层混合的行为,提前验证目标效果,那么在芯片FPGA验证阶段时,就可以对比真实硬件和PC仿真的效果差异,基于PC仿真环境可快速定位及调试问题,提高芯片FPGA验证的效率。由于PC环境存在透明图层的API接口使用限制,导致在Alpha分量达到透明条件时,黑色和白色并不会透明显示,以致不满足Alpha混合的透明仿真效果。
技术实现思路
为了解决PC环境的图形混合仿真验证效果问题,本专利技术提供了一种利用两个32Bit格式Buffers的图形仿真硬件图层间Alpha混合的不同透明效果,为硬件设计提供新的仿真方法,提高调试效率。本专利技术解决其技术问题所采用的技术方案是:如图2的流程图,首先创建一个32BitBMP格式文件,用于Alpha混合后结果的保存浏览,然后分别初始化同样大小的源和目标像素的Buffers颜色信息,包括背景色及其背景色之上的图形颜色信息,模拟两个图层间的Alpha混合处理。根据用户设置的Porter-Duff模式,分别运算源和目标图像像素RGBA四个分量的Alpha混合后的数据,关键判断是源和目标像素的Alpha分量经Porter-Duff公式运算后的Alpha值,如果该像素的Alpha值满足透明条件,则表示这个像素混合后是透明不可见的,从效果要求出发,这个像素需更新为Buffers的初始背景色,对应输出的BMP图片的像素点则显示为Buffers的初始背景色;否则显示为该像素经过源和目标图像Alpha混合处理后的像素真实颜色数据。本专利技术的有益效果是:突破PC环境API接口图层间Alpha混合处理的使用限制,提高仿真环境与实际硬件行为的契合程度,为工程人员提供一种新的图层混合处理的仿真及调试方法。附图说明下面结合附图和实施例对本专利技术进一步说明。图1是Porter-Duff公式操作模式的示意图。图2是一种仿真图层间Alpha混合处理的流程图。图3是一种描述源和目标Buffers信息的结构图。图4是一种描述源和目标像素RGBA四个分量Alpha混合的分解图。具体实施方式首先在PC环境创建一个32BitBMP文件,并初始化BMP格式的头部信息,以便于PC系统能够正确识别;202,新建同样大小的源和目标图像Buffers,并初始化颜色和Alpha分量,包括背景色及其上面的图形信息;203,判断当前用户设置的Porter-DuffAlpha混合模式;204,表示当前用户设置的模式有效,并对源和目标像素做Alpha混合运算;205,判断源和目标像素的Alpha分量Porter-DuffAlpha混合后获取的Alpha值;206,像素混合后的Alpha分量值为0时的像素透明处理;207,把Porter-DuffAlpha混合后的图像数据更新到BMP文件,并显示结果。根据本专利技术的实施例,步骤203包括:若用户输入的模式不在仿真设定的范围时,则结束仿真程序,否则,按流程继续执行。根据本专利技术的实施例,步骤204包括:根据用户设置的模式和Porter-Duff公式,计算源和目标图像所有像素RGBA四个分量的Alpha混合后的数据,包括红色,蓝色,绿色和Alpha。根据本专利技术的实施例,步骤205包括:判断源和目标图像所有像素Alpha分量混合运算后的值,如果达到透明条件,该像素点则执行透明处理的流程;如果达不到透明条件,该像素点则执行更新Alpha混合运算后的颜色和Alpha数据。根据本专利技术的实施例,步骤206包括:对Alpha分量为0的像素做透明处理,从效果要求出发,该像素点更新为Buffers的初始背景色,以模拟硬件图层间Alpha混合效果。根据本专利技术的实施例,步骤207包括:源和目标图像所有像素点Alpha混合处理完毕后,则把最终Buffer所有像素的混合结果数据写入到开始创建的BMP文件,便于查看Alpha混合后的仿真效果,与实际硬件效果做比较。图3描述了源和目标Buffers的初始背景色,图形信息以及Alpha混合的实例;301,表示SrcBuffer内部的一个图形,像素的Alpha分量默认为255,可修改为其他有效数据,RGB颜色分量可自定义设置其他有效值;302,表示SrcBuffer的初始背景色,像素的Alpha分量为0,也就是透明色;303,表示DstBuffer内部的一个图形,像素的Alpha分量默认为255,可修改为其他有效数据,RGB颜色分量可自定义设置其他有效值;304,表示DstBuffer的初始背景色,像素的Alpha分量为0,也就是透明色;305,表示以SrcoverDst模式为实例说明,Alpha混合后,Alpha分量不为0的区域为混合新生成的像素图形信息;306,表示Alpha混合后,Alpha分量为0的区域为初始背景色,也就是透明。图4描述了源和目标像素RGBA四个分量Alpha混合的分解图;401,表示一个SrcPixel可分解成RGBA四个分量,与DstPixel的四个分量进行Alpha混合;402,表示一个DstPixel可分解成RGBA四个分量,与SrcPixel的四个分量进行Alpha混合;403,表示一个DstPixel与一个SrcPixel的四个RGBA分量进行Alpha混合后,所得的Alpha分量为0,该像素则透明处理,设置为Buffer的初始背景色;404,表示一个DstPixel与一个SrcPixel的四个RGBA分量进行Alpha混合后,所得的Alpha分量为非0,该像素则设置为Alpha混合后的新生成的像素图像信息。本文档来自技高网
...
一种仿真图形混合处理的方法

【技术保护点】
一种仿真图形混合处理的方法,其特征在于,利用两个32Bit格式Buffers的图像仿真硬件图层间Alpha混合的不同透明效果,根据源和目标图像像素混合处理后的Alpha分量的数据做透明与非透明处理。

【技术特征摘要】
1.一种仿真图形混合处理的方法,其特征在于,利用两个32Bit格式Buffers的图像仿真硬件图层间Alpha混合的不同透明效果,根据源和目标图像像素混合处理后的Alpha分量的数据做透明与非透明处理。2.根据权利要求1所述的方法,其特征在于,若源和目标图像像素混合处理后的Alpha分量的数据达到透明条件时,则为该像素做透明处理,即是设置为该Buffers的初始背景色。3.根据权利要求1所述的方法,...

【专利技术属性】
技术研发人员:周一良
申请(专利权)人:珠海亿智电子科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1