本发明涉及计算机二维图形展示,尤其是涉及用于图像绘制的方法和设备。
背景技术:
1、wpf(windowspresentationfoundation,windows呈现基础)是微软推出的基于windows的用户界面框架,由.netframework3.0开始引入,与windowscommunicationfoundation及windows workflowfoundation并行为新一代windows操作系统以及winfx的三个重大应用程序开发类库。
2、基于directx(directextension,多媒体编程接口)技术的wpf不仅带来了前所未有的3d界面,而且其图形向量渲染引擎也大大改进了传统的2d界面,比如vista中的半透明效果的窗体等都得益于wpf。虽然,wpf相比之前的winform(windowsform,是·net开发平台中对windowsform的一种称谓)框架能够提供更加绚丽以及更加自由用户界面,但是wpf封装程度较高,严重牺牲了directx的渲染性能。
3、例如,wpf中所提供的2d绘图类:典型为折线polyline(其用于绘制折线图),在一组数据折线图展示时,每个数据被转换为二维坐标系下的坐标点,这些坐标点则组成一个集合,并赋值给polyline的points属性。此时,polyline根据最新的points数据重绘折线图,当集合的坐标点数量达到10000时,wpf性能明显降低,展示应用出现明显卡顿。
4、因此,在进行大量二维数据图形展示时,如何解决系统资源消耗大、渲染效率低是本发明要解决的问题。
技术实现思路
1、本发明的目的在于提供一种用于图像绘制的方法和设备,在wpf框架的基础上,重复多次执行第一对象writeablebitmap的脏区更新第二对象image的操作,较好的解决了wpf在进行大量二维数据图形展示时系统资源消耗大、渲染效率低的问题,实现了高效的二维数据绘图展示。
2、根据本发明的一方面,至少一个实施例提供了一种用于图像绘制的方法,包括:复制待渲染图像的渲染数据到第一对象的缓冲区,并标记所述第一对象的脏区;根据所述第一对象的脏区更新第二对象,其中,所述第二对象用于图形动态展示,所述第二对象将所述第一对象作为图形源;利用第一接口对所述待渲染图像进行渲染。
3、根据本发明的另一方面,至少一个实施例还提供了一种用于图像绘制的设备,包括:处理器,适于实现各指令;以及存储器,适于存储多条指令,所述指令适于由处理器加载并执行:本发明上述用于图像绘制的方法。
4、根据本发明的另一方面,至少一个实施例还提供了一种用于图像绘制的系统,包括:本发明上述用于图像绘制的设备。
5、根据本发明的另一方面,至少一个实施例还提供了一种计算机可读的非易失性存储介质,存储计算机程序指令,当所述计算机执行所述程序指令时,执行本发明上述用于图像绘制的方法。
6、通过本发明上述实施例,重复多次执行第一对象writeablebitmap的脏区更新第二对象image的操作,较好的解决了wpf在进行大量二维数据图形展示时系统资源消耗大、渲染效率低的问题,实现了高效的二维数据绘图展示。
1.用于图像绘制的方法,其特征在于,包括:
2.根据权利要求1所述的方法,所述第一接口为gdi或directx,其特征在于,利用第一接口对所述待渲染图像进行渲染包括:
3.根据权利要求1所述的方法,所述第二对象为system.windows.control.image,所述第一对象为system.windows.media.imaging.writeablebitmap,其特征在于,根据所述脏区更新第二对象包括:
4.根据权利要求3所述的方法,其特征在于,根据所述system.windows.media.imaging.writeablebitmap被标记的脏区更新显示所述system.windows.control.image之后,所述方法还包括:
5.根据权利要求4所述的方法,所述缓冲区包括前台缓冲区和后台缓冲区,其特征在于,复制待渲染图像的渲染数据到第一对象的缓冲区包括:
6.根据权利要求4所述的方法,其特征在于,标记所述第一对象的脏区包括:
7.根据权利要求6所述的方法,其特征在于,在锁定所述第一对象system.windows.media.imaging.writeablebitmap之前,所述方法还包括:
8.用于图像绘制的设备,包括:
9.用于图像绘制的系统,包括:如权利要求8所述的用于图像绘制的设备。
10.一种计算机可读的非易失性存储介质,存储计算机程序指令,当计算机执行程序指令时,执行:如权利要求1-7任一所述的用于图像绘制的方法。