一种图形绘制方法及装置制造方法及图纸

技术编号:12398360 阅读:81 留言:0更新日期:2015-11-26 04:01
本发明专利技术实施例公开了一种图形绘制方法及装置,用于解决图形的毛边问题,改善图形的视觉效果。本发明专利技术实施例方法包括:在控件上绘制目标图形,然后在控件上绘制透明背景层,该透明背景层位于目标图形的下一层,再在控件上绘制无边框窗口,无边框窗口的背景为与背景层重叠的位置的位图,该无边框窗口位于目标图形的上一层。因为无边框窗口的背景与目标图形的透明背景层相同,所以当无边框窗口覆盖在目标图形上时,可以遮盖目标图形的毛边,从而能够改善图形的视觉效果。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种图形绘制方法及装置
技术介绍
图形设备接口(⑶I+,Graphics Device Interface)是一个开源项目,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。在客户端应用程序中,可以调用⑶I+绘制图形,也可以直接加载已经处理好的UI图,有些情况下,采用GDI+绘图比直接采用UI图会更灵活,性能更高。例如:现在办公软件上的日历控件一般都会具有业务标记功能,标记的形态多种多样,有用红点表示的,有高亮显示的,有圆边显示的,这些标记可以直接采用⑶I+进行绘制。但是米用⑶I+绘制弧状图形,例如圆圈时,会出现毛边,从而影响图形的视觉效果O
技术实现思路
本专利技术实施例提供了一种图形绘制方法及装置,能够解决图形的毛边问题,改善图形的视觉效果。第一方面,本专利技术实施例提供了一种图形绘制方法,包括:在控件上绘制目标图形;在控件上绘制透明背景层,背景层位于目标图形的下一层;在控件上绘制无边框窗口,无边框窗口的背景为与透明背景层重叠的位置的位图,无边框窗口位于目标图形的上一层。结合第一方面,在第一方面的第一种可能的实现方式中,在控件上绘制目标图形包括:调用UpdateLayerdWindow应用程序编程接口 API函数,基于alpha通道在控件上绘制目标图形。结合第一方面,在第一方面的第二种可能的实现方式中,在控件上绘制透明背景层包括:调用UpdateLayerdWindow API函数,基于alpha通道在控件上绘制透明背景层。结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式中任一一种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:通过自定义用户控件Usercontrol函数编写以生成控件;或,在Windows控件基础上重写以生成控件。结合第一方面、第一方面的第一种可能的实现方式中或第一方面的第二种可能的实现方式中任一一种可能的实现方式,在第一方面的第四种可能的实现方式中,该目标图形为弧状图形。第二方面,本专利技术实施例提供了一种图形绘制装置,包括:第一绘制模块,用于在控件上绘制目标图形;第二绘制模块,用于在控件上绘制透明背景层,背景层位于目标图形的下一层;第三绘制模块,用于在控件上绘制无边框窗口,无边框窗口的背景为与透明背景层重叠的位置的位图,无边框窗口位于目标图形的上一层。结合第二方面,在第二方面的第一种可能的实现方式中,第一绘制模块具体用于:调用UpdateLayerdWindow应用程序编程接口 API函数,基于alpha通道在控件上绘制目标图形。结合第二方面,在第二方面的第二种可能的实现方式中,第二绘制模块具体用于:调用UpdateLayerdWindow API函数,基于alpha通道在控件上绘制透明背景层。结合第二方面、第二方面的第一种可能的实现方式中或第二方面的第二种可能的实现方式中任一一种可能的实现方式,在第一方面的第三种可能的实现方式中,图形绘制装置还包括:第一生成单元,用于通过自定义用户控件Usercontrol函数编写以生成控件;或,第二生成单元,用于在Windows控件基础上重写以生成控件。结合第二方面、第二方面的第一种可能的实现方式中或第二方面的第二种可能的实现方式中任--种可能的实现方式,在第一方面的第四种可能的实现方式中,第一绘制模块具体用于在控件上绘制弧状图形。从以上技术方案可以看出,本专利技术实施例的方案具有如下有益效果:本专利技术实施例中,在控件上绘制目标图形,然后在控件上绘制透明背景层,该透明背景层位于目标图形的下一层,再在控件上绘制无边框窗口,无边框窗口的背景为与背景层重叠的位置的位图,该无边框窗口位于目标图形的上一层。因为无边框窗口的背景与目标图形的透明背景层相同,所以当无边框窗口覆盖在目标图形上时,可以遮盖目标图形的毛边,从而能够改善图形的视觉效果。【附图说明】图1为本专利技术实施例中图形绘制方法的一种流程图;图2为本专利技术实施例中图形绘制方法的另一种流程图;图3为本专利技术实施例中日历控件示意图;图4为本专利技术实施例中图形绘制装置的功能模块示意图;图5为本专利技术实施例中图形绘制装置的另一种功能模块示意图。【具体实施方式】本专利技术实施例提供了一种图形绘制方法及装置,用于解决图形的毛边问题,改善图形的视觉效果。下面分别进行详细说明。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三…第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。本专利技术实施例应用于PC客户端应用程序中控件的图形绘制,在PC客户端程序中可以通过C++等编程语言调用Windows自身的应用程序编程接口(API,Applicat1nProgramming Interface)函数进行绘制控件,以及在控件上绘制图形。下面结合图1,对本专利技术实施例中图形绘制的方法进行详细说明。101、在控件上绘制目标图形;在客户端程序的开发中,可以通过控件封装重复的工作,所以很多共用的程序可以封装成控件,例如:办公自动化(0A,Office Automat1n)系统中的日历显示模块,即可以封装成控件以供多个功能模块使用。控件的生成可以是图形绘制装置自行创建控件,也可以是图形绘制装置使用现成的控件进行扩展。如果在控件上需要加载图形时,可以通过调用API函数进行绘制,在本专利技术实施例中,在图形绘制装置生成好控件后,图形绘制装置在控件上绘制目标图形,例如日历控件上用于标记日期的红点标记。本专利技术实施例中的图形绘制装置可以是计算机中的处理器,具体此处不做限定。102、在控件上绘制透明背景层;图形绘制装置在控件上绘制好目标图形后,为了解决目标图形会出现毛边的问题,再在控件上绘制透明背景层,该背景层可以是透明的PNG图,作为目标图形的承载层,位于目标图形的下一层。需要说明的是,透明背景层除了可以是PNG图以外,还可以是其他格式的图,例如:JPEG、BMP、TIFF格式,具体此处不做限定。103、在控件上绘制无边框窗口。图形绘制装置在绘制好透明背景层后,再绘制无边框的窗口,该无边框窗口位于目标图形的上一层,将该无边框窗口的背景设为透明背景层对应的位置的位图,呈现透明的视觉效果,如此,就能遮盖掉目标图形的毛边,且不会遮盖掉目标图形。本专利技术实施例中,图形绘制装置在控件上绘制目标图形,然后在控件上绘制透明背景层,该透明背景层位于目标本文档来自技高网
...

【技术保护点】
一种图形绘制方法,其特征在于,包括:在控件上绘制目标图形;在所述控件上绘制透明背景层,所述背景层位于所述目标图形的下一层;在所述控件上绘制无边框窗口,所述无边框窗口的背景为与所述透明背景层重叠的位置的位图,所述无边框窗口位于所述目标图形的上一层。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈骥
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东;44

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

1