填充图形的方法和装置制造方法及图纸

技术编号:16606233 阅读:19 留言:0更新日期:2017-11-22 16:15
本发明专利技术提供一种填充图形的方法和装置,其中,填充图形的方法包括:获取图形上沿像素排列方向距离最远的两个关键点的坐标;从一个关键点开始直至另一个关键点为止,计算所述图形与各个像素行相交形成的各条线段的端点坐标;其中,所述像素行与所述像素排列方向垂直;从所述一个关键点开始直至所述另一个关键点为止,调用图形处理器GPU的画线接口函数,以使所述GPU根据所述线段的端点坐标画线填充所述图形。本发明专利技术提供的填充图形的方法,可以减轻CPU的负担,提升GPU的利用率,进而提升了系统性能。

Method and device for filling graphics

The present invention provides a method and a device, a fill pattern which includes method of filling graphics: get the graphics on the arrangement of two key points the direction of the distance from the edge pixel coordinates; from the beginning of a key point to another key point, calculate the endpoint coordinates of each pixel for each intersection graph and the line formed; among them, the row of pixels and the pixels are arranged in vertical direction; from the beginning of the a key point until the another key point, draw line interface function calls GPU graphics processor, in order to make the GPU according to the drawing line endpoint coordinates of the filling line graphics. The method of filling graphics provided by the invention can lighten the burden of CPU, improve the utilization ratio of GPU, and improve the system performance.

【技术实现步骤摘要】
填充图形的方法和装置
本专利技术涉及计算机图形处理
,尤其涉及一种填充图形的方法和装置。
技术介绍
在计算机系统中,通过计算机系统自带的图形处理软件或者其它的应用软件,可以设计并画出不同的图案,其中,最基本的图案包括:点、直线、曲线、三角形、矩形、圆和椭圆,等等,而通过软件可以对图案进行进一步的处理,例如,对图案进行填充。目前,在基于无互锁流水线级的微处理器(Microprocessorwithoutinterlockedpipedstages,简称MIPS)架构的vxWorks操作系统中,当显示芯片为矽统科技(也称为SIS)显示芯片时,显卡驱动中没有填充圆或者椭圆的实现接口,因此,当需要填充圆或者椭圆时,只能由中央处理器(CentralProcessingUnit,简称CPU)直接进行圆或者椭圆的填充。但是,如果每次填充圆或者椭圆都需要CPU执行,将增加CPU的负担,降低CPU的利用率,当CPU繁忙时将大大降低系统性能。
技术实现思路
本专利技术提供一种填充图形的方法和装置,可以减轻CPU的负担,提升GPU的利用率,进而提升了系统性能。本专利技术提供的填充图形的方法,包括:获取图形上沿像素排列方向距离最远的两个关键点的坐标;从一个关键点开始直至另一个关键点为止,计算所述图形与各个像素行相交形成的各条线段的端点坐标;其中,所述像素行与所述像素排列方向垂直;从所述一个关键点开始直至所述另一个关键点为止,调用图形处理器GPU的画线接口函数,以使所述GPU根据所述线段的端点坐标画线填充所述图形。本专利技术提供的填充图形的装置,包括:获取模块,用于获取图形上沿像素排列方向距离最远的两个关键点的坐标;计算模块,用于从一个关键点开始直至另一个关键点为止,计算所述图形与各个像素行相交形成的各条线段的端点坐标;其中,所述像素行与所述像素排列方向垂直;画线模块,用于从所述一个关键点开始直至所述另一个关键点为止,调用图形处理器GPU的画线接口函数,以使所述GPU根据所述线段的端点坐标画线填充所述图形。本专利技术提供一种填充图形的方法和装置,其中,填充图形的方法包括:获取图形上沿像素排列方向距离最远的两个关键点的坐标,从一个关键点开始直至另一个关键点为止,计算图形与各个像素行相交形成的各条线段的端点坐标,从一个关键点开始直至另一个关键点为止,调用GPU的画线接口函数,以使GPU根据线段的端点坐标画线填充图形。本专利技术提供的填充图形的方法,通过调用GPU的画线接口函数,通过GPU实现了图形填充,由于避免了直接使用CPU进行图形填充,因此,为CPU减小了负担,提升了GPU的利用率,进而提升了系统性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的填充图形的方法的流程图;图2为本专利技术实施例一提供的填充图形的方法中椭圆的结构示意图;图3为本专利技术实施例二提供的填充图形的方法的流程图;图4为本专利技术实施例一提供的填充图形的装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供的填充图形的方法和装置,主要应用于基于MIPS处理器的vxWorks操作系统采用SIS显示芯片的环境,解决目前填充圆或者椭圆时CPU利用率低的技术问题,当然,本专利技术实施例提供的填充图形的方法和装置,也可以应用于其他处理器其他操作系统中采用其他显卡芯片时填充图形的场景。图1为本专利技术实施例一提供的填充图形的方法的流程图,本实施例提供的填充图形的方法,执行主体为填充图形的装置,例如:CPU,本实施例提供的填充图形的方法,具体可以封装为显卡驱动中的图形填充接口函数,当填充图形的装置在执行图形填充接口函数时,将执行本实施例提供的填充图形的方法。如图1所示,本实施例提供的填充图形的方法,可以包括:步骤101、获取图形上沿像素排列方向距离最远的两个关键点的坐标。在本实施例中,图形是指可以被填充的封闭图案。其中,图形可以是规则的图形,例如:三角形、矩形、正方形、梯形、平行四边形、菱形、正多边形、圆或者椭圆,等等,也可以是不规则的图形,例如:不规则多边形、或者由曲线构成的不规则图形,等等。其中,关键点是图形上的点,两个关键点是指图形上沿像素排列方向距离最远的两个点。当图形上沿像素排列方向距离最远的两个点为多组时,将任意一组中的两个点作为两个关键点,例如:对于矩形,由于矩形的两条对边平行,则矩形上沿像素排列方向距离最远的两个点有多组,此时,可以将任意一组中的两个点作为两个关键点。其中,像素是指基本原色素及其灰度的基本编码,是构成数字图像的基本单元,通常以像素每英寸为单位来表示图像分辨率的大小,图像中像素的排列是有规律的。可选的,像素排列方向为水平方向或者垂直方向。当像素排列方向为水平方向时,通过本步骤,可以获取图形上沿水平方向距离最远的两个关键点的坐标。当像素排列方向为垂直方向时,通过本步骤,可以获取图形上沿垂直方向距离最远的两个关键点的坐标。可选的,图形为圆或者椭圆,两个关键点为圆或者椭圆上与外切矩形相切的两个位置相对的切点。具体的,当像素排列方向为水平方向时,两个关键点为圆或者椭圆与外切矩形相切的在水平方向上位置相对的两个切点,当像素排列方向为垂直方向时,两个关键点为圆或者椭圆与外切矩形相切的在垂直方向上位置相对的两个切点。下面以椭圆为例,详细说明本步骤。图2为本专利技术实施例一提供的填充图形的方法中椭圆的结构示意图,如图2所示,椭圆的中心为坐标系的原点O(0,0),假设像素排列方向为水平方向,则椭圆上沿水平方向距离最远的两个关键点可以为点A1(-a,0)和点A2(a,0)。假设像素排列方向为垂直方向,则椭圆上沿垂直方向距离最远的两个关键点可以为点B1(0,b)和点B2(0,-b)。步骤102、从一个关键点开始直至另一个关键点为止,计算图形与各个像素行相交形成的各条线段的端点坐标。其中,像素行与像素排列方向垂直。其中,对于两个关键点的起始顺序不做特别限制。例如,两个关键点分别为关键点P1和关键点P2,则可以从关键点P1开始直至关键点P2为止,也可以从关键点P2开始直至关键点P1为止。在本步骤中,从一个关键点开始直到另一个关键点为止,计算获得两个关键点之间所有像素行与图形相交形成的所有线段的端点坐标,每条线段包括两个端点。其中,每个像素行与图形相交形成的线段数目可以为0条、1条或者为多条,当像素行与图形相交仅是图形上的点时,此时,像素行与图形没有形成相交线段,即,相交线段为0条。下面以椭圆为例,详细说明本步骤。如图2所示,当像素排列方向为水平方向,则椭圆上沿水平方向距离最远的两个关键点可以为点A1(-a,0)和点A2(a,0),由于像素排列方向为水平方向,则像素行本文档来自技高网...
填充图形的方法和装置

【技术保护点】
一种填充图形的方法,其特征在于,包括:获取图形上沿像素排列方向距离最远的两个关键点的坐标;从一个关键点开始直至另一个关键点为止,计算所述图形与各个像素行相交形成的各条线段的端点坐标;其中,所述像素行与所述像素排列方向垂直;从所述一个关键点开始直至所述另一个关键点为止,调用图形处理器GPU的画线接口函数,以使所述GPU根据所述线段的端点坐标画线填充所述图形。

【技术特征摘要】
1.一种填充图形的方法,其特征在于,包括:获取图形上沿像素排列方向距离最远的两个关键点的坐标;从一个关键点开始直至另一个关键点为止,计算所述图形与各个像素行相交形成的各条线段的端点坐标;其中,所述像素行与所述像素排列方向垂直;从所述一个关键点开始直至所述另一个关键点为止,调用图形处理器GPU的画线接口函数,以使所述GPU根据所述线段的端点坐标画线填充所述图形。2.根据权利要求1所述的方法,其特征在于,所述从所述一个关键点开始直至所述另一个关键点为止,调用GPU的画线接口函数,以使所述GPU根据所述线段的端点坐标画线填充所述图形,包括:调用所述画线接口函数,以使所述GPU根据从所述一个关键点到所述另一个关键点的方向上的第一个像素行上的所述线段的端点坐标进行画线;判断所述方向上的第二个像素行是否包括所述另一个关键点;若否,则继续调用所述画线接口函数,以使所述GPU根据所述第二个像素行上的所述线段的端点坐标进行画线,直至所述方向上下一个像素行包括所述另一个关键点为止。3.根据权利要求1或2所述的方法,其特征在于,所述图形为圆或者椭圆,所述两个关键点为圆或者椭圆上与外切矩形相切的两个位置相对的切点。4.根据权利要求1或2所述的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:王洪虎胡佳林
申请(专利权)人:龙芯中科技术有限公司
类型:发明
国别省市:北京,11

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

1