CN102054280B - 快速生成矢量图的方法及装置 - Google Patents
快速生成矢量图的方法及装置 Download PDFInfo
- Publication number
- CN102054280B CN102054280B CN 201010564672 CN201010564672A CN102054280B CN 102054280 B CN102054280 B CN 102054280B CN 201010564672 CN201010564672 CN 201010564672 CN 201010564672 A CN201010564672 A CN 201010564672A CN 102054280 B CN102054280 B CN 102054280B
- Authority
- CN
- China
- Prior art keywords
- picture
- pixel
- generating vector
- transparency
- visuals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
快速生成矢量图的方法及装置,该方法包括步骤:导入已画好图形的图片,获取所述图片的数据信息,所述数据信息包括该图片的图片大小;扫描查找所述图片大小区域内的符合预设条件的像素;根据所述符合预设条件的像素的位置信息生成路径对象,并绘制生成的该路径对象。本发明方案是通过导入已绘制好的图片,通过查找出该图片区域中符合预设条件的像素,并根据这些像素的位置信息来生成路径对象,然后绘制这些生成的路径对象,从而生成与该绘制好的图片对应的矢量图,这种矢量图的生成方式,可以无需专业的绘制人员来绘制,只需导入已绘制好的图片即可生成与其对应的矢量图,无需专业的矢量图绘制经验,矢量图的生成速度快,且工作量小,成本低。
Description
技术领域
本发明涉及计算机绘图技术领域,特别涉及一种快速生成矢量图的方法及装置。
背景技术
随着科技的日益发展,计算机的应用也越来越普及,计算机在教学、教育、消防等行业的应用也越来越广泛,在这些行业的计算机的应用中,会需要涉及到很多矢量图的应用,这些矢量图包括规则矢量图、不规则矢量图,例如消防行业中使用的矢量图标消防车、洒水车、飞机,教育行业中的基本的几何图形和教育过程中使用的一些不规则图形等等。如何能快速制作出能改变颜色且能放大不失真的矢量图,软件开发人员需要针对不同的图形进行设计编程,随着图量的增加,编码的代价也越高,成本也就越高。
在现有的绘制或者生成矢量图的方式中,其中一种方式是直接采用绘图软件来绘制出矢量图,然而,尽管这种绘制过程绘制方便、快捷,但是却需要专业制作人员来制作,而且不能改变线条颜色、粗细和封闭区域填充颜色,现有的另外一种方式是由软件设计和开发人员通过编程来生成矢量图,其能够改变线条颜色、粗细和封闭区域填充颜色,但是工作量大、成本高,且不便于扩展。
发明内容
针对上述现有技术中存在的问题,本发明的目的在于提供一种快速生成矢量图的方法及装置,其可以快速地生成矢量图,且工作量小,成本低。
为达到上述目的,本发明采用以下技术方案:
一种快速生成矢量图的方法,包括步骤:
导入已画好图形的图片,获取所述图片的数据信息,所述数据信息包括该图片的图片大小;
扫描查找所述图片大小区域内的符合预设条件的像素;
根据所述符合预设条件的像素的位置信息生成路径对象,并绘制生成的该路径对象。
一种快速生成矢量图的装置,包括:
图片导入单元,用于导入已画好图形的图片;
图片信息获取单元,用于获取所述图片的数据信息,所述数据信息包括该图片的图片大小;
像素查找单元,用于扫描查找所述图片大小区域内的符合预设条件的像素;
路径对象生成单元,用于根据所述符合预设条件的像素的位置信息生成路径对象;
绘制单元,用于绘制生成的所述路径对象。
根据上述本发明的方案,其是通过导入已绘制好的图片,通过查找出该图片区域中符合预设条件的像素,并根据这些像素的位置信息来生成路径对象,然后绘制这些生成的路径对象,从而生成与该绘制好的图片对应的矢量图,这种矢量图的生成方式,可以无需专业的绘制人员来绘制,只需导入已绘制好的图片即可生成与其对应的矢量图,无需专业的矢量图绘制经验,矢量图的生成速度快,且工作量小,成本低。
附图说明
图1是本发明的快速生成矢量图的方法实施例的流程示意图;
图2是图1中的方法在扫描查找符合预设条件的像素的实施例的流程示意图;
图3是本发明的快速生成矢量图的装置实施例的结构示意图。
具体实施方式
以下以具体实施例的方式对本发明方案进行详细阐述。
如图1所示,是本发明的快速生成矢量图的方法实施例的流程示意图,其包括步骤:
步骤S101:导入已画好图形的图片,进入步骤S102;
步骤S102:获取所述图片的数据信息,这里的数据信息包括该图片的图片大小,进入步骤S103;
步骤S103:扫描查找所述图片大小区域内的符合预设条件的像素,进入步骤S104;
步骤S104:根据所述符合预设条件的像素的位置信息生成路径对象,并绘制生成的该路径对象。
根据上述本发明方法,其是通过导入已绘制好的图片,通过查找出该图片区域中符合预设条件的像素,并根据这些像素的位置信息来生成路径对象,然后绘制这些生成的路径对象,从而生成与该绘制好的图片对应的矢量图,这种矢量图的生成方式,可以无需专业的绘制人员来绘制,只需导入已绘制好的图片即可生成与其对应的矢量图,无需专业的矢量图绘制经验,矢量图的生成速度快,且工作量小,成本低。
其中,上述导入的已画好的图形的图片,可以是采用画图软件绘制的图片,绘制图片时,可以是采用任意规则绘制,但是画笔颜色与背景颜色应当有所不同。在其中一种绘制方式中,画图的画笔的颜色可以为任意颜色,而其他不画的地方(即背景部分)的透明度为0,采用这种方式绘制的图片可以保存为PNG格式的图片。在另外一种绘制方式中,可以是将图片的背景颜色设定为某种颜色,优选情况下可设定为无色或者透明度为0,而画图的画笔的颜色则采用除了背景颜色的其他任意颜色,在此情况下,所绘制的图片可以保存为任意格式,例如BMP格式等等。
在绘制好了图形之后,可根据该图形的图片的路径将该图片导入,具体可将其导入内存予以存储,在一个具体的示例中,可根据图片的路径创建一个Bitmap将该图片导入内存中,并对其命名为m_pBitmap。
随后即可获取该图片的数据信息。以上述命名为m_Pbitmap的图片为例,具体的实现方式可以是:根据获取的图片指针m_pBitmap通过函数GetObject获取相关的数据信息,并写入到结构体BITMAP对象中,可将该BITMAP对象命名为m_BmpInfo,这里的图片的数据信息,具体可包括图片的图片高度、图片宽度等表示图片大小的信息。
随后,即可进入扫描查找所述图片大小区域内的符合预设条件的像素的步骤,该查找图片大小区域内的符合预设条件的像素的根本目的,是要查找出组成该具体的图形的各像素,而去除其他的例如背景颜色的像素,从而便于在后续过程中能够根据具体图形的像素绘制出具体的对应的矢量图。
依据上述生成图片的图形的方式,以上述生成PNG格式图片为例,可直接根据图片中的各像素的透明度来扫描判定,即,此时生成的图片为PNG格式图片,所述预设条件为透明度不为0。
此时,据此预设条件来查找符合预设条件的像素的方法可如图2所示,其具体包括步骤:
步骤S201:根据图片大小扫描整张图片,根据像素的位置坐标从对象数据的指针中获取该位置坐标的像素值,这里的像素值包括透明度、颜色值(即R、G、B值),进入步骤S202;
步骤S202:判断获取的该像素的透明度是否为0,若是,则说明该像素是背景部分的像素,进入步骤S203,若否,则说明该像素是图形部分的像素,进入步骤S204;
步骤S203:不保存该像素的信息;
步骤S204:保存该像素的位置坐标和颜色值的信息。
相应地,在上述生成其他格式图片时,由于图片的背景颜色的透明度不为0,无法直接采用图2中所示的通过判断像素的透明度是否为0的方式进行判定,因此,在进入扫描查找符合预设条件的像素的步骤之前,可先将图片的背景颜色的透明度设为0,从而,上述预设条件仍可设置为透明度不为0,在将背景部分的透明度设为0之后,随后即可采用上述方式扫描查找出符合该预设条件的各像素。
其中,在对图片中的各像素进行扫描时,具体的扫描顺序可以依据需要进行自由设定,例如横向扫描、纵向扫描、螺旋方式扫描或者其他的扫描方式,只要能够扫描图片中的所有像素点、能够对各像素点进行是否符合预设条件的判断即可。
以横向扫描为例,假设需要处理的图片的区域矩形为(x1,y1,x2,y2),其中(x1,y1)为矩形左上角顶点坐标,(x2,y2)为矩形右下角顶点坐标,即x1<x2,y1<y2,设当前正在处理的像素的坐标为(x,y),起始点为x=x1,y=y1,其具体的扫描方式可以是:
S1:初始状态下,令x=x1,y=y1;
S2:判断当前像素坐标的y值是否小于或等于y2,若是,则说明当前一行处于图片的区域范围之内,进入步骤S3,否则,则说明图片中所有的像素均已扫描完毕,进入后续的生成路径对象的步骤;
S3、判断当前像素坐标的x值是否小于或等于x2,若是,则说明当前像素处于图片的区域范围之内,可以对该像素进行处理,进入步骤S4;否则,说明当前一行的像素已处理完毕,需进入对下一行像素的处理,令x=x1,y=y+1,并返回上述步骤S2;
S4、根据需处理像素的坐标,从图片对象数据的指针中获取该像素的颜色值和透明度,完成该位置坐标像素的处理操作;进入步骤S5;
S5、进入当前行的下一像素的处理,即令x=x+1,并返回上述步骤S3。
在查找出了图片中所有满足预设条件的各像素之后,即可根据这些像素的位置信息生成路径对象,生成路径对象的方式可以是采用现有技术中已有的方式,在一个具体的示例中,其生成方式可以是:
创建一个路径GraphicsPath,并将其命名为m_bornpath;
将保存的坐标信息加入到该路径m_bornpath中,这可以采用AddEllipse方式来实现;
根据路径m_bornpath获取路径的外围矩形,这可以通过GetBounds函数来获取,并可以提供选择、移动、旋转等应用。
在生成了路径对象之后,即可以对这些路径对象进行绘制,将这些路径对象绘制在屏幕上进行显示,在一个具体的示例中,绘制路径对象的方式可以是:
将颜色值保存到该对象中,以供后续过程中改变颜色值使用,然后根据获取的对象的颜色值、初始笔宽创建笔Pen,再根据该笔Pen将路径绘制在屏幕上,采用笔Pen将路径绘制在屏幕上的过程可以采用DrawImage等方式来完成。
在将各路径对象进行绘制显示后,还可以对该路径对象的颜色、透明度、线条粗细、填充色等参数进行修改,在进行修改时,首先选中该对象,修改该对象的颜色值、透明度、线宽等参数,然后刷新图片区域,重新绘制该对象。对于各对象而言,若其有封闭区域,则可以为其提供颜色填充,并可以对填充色进行修改,若无封闭区域,则可以不进行填充。具体的修改路径对象的方式在此不予赘述。
根据上述本发明的快速生成矢量图的方法,本发明还提供一种快速生成矢量图的装置,如图3所示,是本发明的快速生成矢量图的装置实施例的结构示意图,其包括有:
图片导入单元301,用于导入已画好图形的图片;
图片信息获取单元302,用于获取所述图片的数据信息、图片大小;
像素查找单元303,用于扫描查找所述图片大小区域内的符合预设条件的像素;
路径对象生成单元304,用于根据所述符合预设条件的像素的位置信息生成路径对象;
绘制单元305,用于绘制生成的所述路径对象。
其中,图片导入单元301导入的已画好的图形的图片,可以是采用画图软件绘制的图片,绘制图片时,可以是采用任意规则绘制,但是画笔颜色与背景颜色应当有所不同。在其中一种绘制方式中,画图的画笔的颜色可以为任意颜色,而其他不画的地方(即背景部分)的透明度为0,采用这种方式绘制的图片可以保存为PNG格式的图片。在另外一种绘制方式中,可以是将图片的背景颜色设定为某种颜色,优选情况下可设定为无色或者透明度为0,而画图的画笔的颜色则采用除了背景颜色的其他任意颜色,在此情况下,所绘制的图片可以保存为任意格式,例如BMP格式等等。
在绘制好了图形之后,图片导入单元301可根据该图形的图片的路径将该图片导入,图片信息获取单元302获取该图片的数据信息,这里的图片的数据信息,具体可包括图片的图片高度、图片宽度等表示图片大小的信息。
随后,像素查找单元303扫描查找所述图片大小区域内的符合预设条件的像素的步骤,该查找图片大小区域内的符合预设条件的像素的根本目的,是要查找出组成该具体的图形的各像素,而去除其他的例如背景颜色的像素,从而便于在后续过程中能够根据具体图形的像素绘制出具体的对应的矢量图。
依据上述生成图片的图形的方式,以上述生成PNG格式图片为例,可直接根据图片中的各像素的透明度来扫描判定,即,此时,该生成的图片为PNG格式图片,所述预设条件为透明度不为0,具体的扫描判定的方式可如图2所示,在此不予赘述。
相应地,在上述生成其他格式图片时,由于图片的背景颜色的透明度不为0,无法直接采用图2中所示的方式进行判定,因此,在进入扫描查找符合预设条件的像素的步骤之前,可先将图片的背景颜色的透明度设为0,从而,上述预设条件仍可设置为透明度不为0,在此情况下,随后即可采用上述方式扫描查找出符合该预设条件的各像素。
即,在上述图片信息获取单元302与像素查找单元303之间,还可以包括有:透明度设定单元3023,用于将所述图片的背景颜色的透明度设为0,此时,所述预设条件为透明度不为0。
本发明快速生成矢量图的装置获取图片信息、查找符合预设条件的像素、生成路径对象以及绘制路径对象的具体实现方式,可如上述本发明的快速生成矢量图的方法相同,在此不予赘述。
此外,在上述对本发明的具体实施例的说明中,是以将预设条件设置为透明度不为0、将背景颜色的透明度设为0、通过判断像素点的透明度是否为0来判断像素是否为符合预设条件的像素,基于此,在实际应用中,也可以是在获得背景部分的透明度后,通过判断当前像素的透明度与背景部分的透明度的差值是否为0来进行判定,若差值为0,在说明是背景部分的像素点,若差值不为0,则可以判定是背景部分的像素点,只要能够将具体图形的像素与背景部分的像素区分开来即可,在此不予多加赘述。
以上所述的本发明实施方式,仅仅是对本发明的最佳实施例的详细说明,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。
Claims (11)
1.一种快速生成矢量图的方法,其特征在于,包括步骤:
导入已画好图形的图片,获取所述图片的数据信息,所述数据信息包括该图片的图片大小;
扫描查找所述图片大小区域内与背景部分相区分的图形部分的像素;
根据所述图片大小区域内与背景部分相区分的图形部分的像素的位置信息生成路径对象,并绘制生成的该路径对象。
2.根据权利要求1所述的快速生成矢量图的方法,其特征在于,所述图片为PNG格式图片,所述与背景部分相区分的图形部分的像素的透明度不为0。
3.根据权利要求1所述的快速生成矢量图的方法,其特征在于:
在扫描查找所述图片大小区域内与背景部分相区分的图形部分的像素之前,还包括步骤:将所述图片的背景颜色的透明度设为0;
所述与背景部分相区分的图形部分的像素的透明度不为0。
4.根据权利要求1或2或3所述的快速生成矢量图的方法,其特征在于:根据获取的图片指针m_pBitmap通过函数GetObject获取所述数据信息,所述图片大小包括图片宽度、图片高度。
5.根据权利要求1或2或3所述的快速生成矢量图的方法,其特征在于,所述像素值包括透明度值、颜色值。
6.根据权利要求1或2或3所述的快速生成矢量图的方法,其特征在于:
所述根据位置信息生成路径对象的方式包括:
创建一个路径GraphicsPath,命名为m_bornpath;
采用AddEllipse方式将位置信息加入到该路径m_bornpath中;
根据路径m_bornpath通过GetBounds函数获取路径的外围矩形,并提供选择、移动、旋转应用。
7.根据权利要求1或2或3所述的快速生成矢量图的方法,其特征在于,在绘制生成的该路径对象时,具体包括:
将颜色值保存到该对象中,根据获取的对象的颜色值、初始笔宽创建笔Pen;
根据所述笔Pen采用DrawImage将路径绘制在屏幕上。
8.一种快速生成矢量图的装置,其特征在于,包括:
图片导入单元,用于导入已画好图形的图片;
图片信息获取单元,用于获取所述图片的数据信息,所述数据信息包括该图片的图片大小;
像素查找单元,用于扫描查找所述图片大小区域内与背景部分相区分的图形部分的像素;
路径对象生成单元,用于根据所述图片大小区域内与背景部分相区分的图形部分的像素的位置信息生成路径对象;
绘制单元,用于绘制生成的所述路径对象。
9.根据权利要求8所述的快速生成矢量图的装置,其特征在于,所述图片为PNG格式图片,所述与背景部分相区分的图形部分的像素的透明度不为0。
10.根据权利要求8所述的快速生成矢量图的装置,其特征在于,还包括:透明度设定单元,用于将所述图片的背景颜色的透明度设为0;
所述与背景部分相区分的图形部分的像素的透明度不为0。
11.根据权利要求8或9或10所述的快速生成矢量图的装置,其特征在于,所述像素值包括透明度值、颜色值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010564672 CN102054280B (zh) | 2010-11-29 | 2010-11-29 | 快速生成矢量图的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010564672 CN102054280B (zh) | 2010-11-29 | 2010-11-29 | 快速生成矢量图的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102054280A CN102054280A (zh) | 2011-05-11 |
CN102054280B true CN102054280B (zh) | 2013-06-12 |
Family
ID=43958566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010564672 Expired - Fee Related CN102054280B (zh) | 2010-11-29 | 2010-11-29 | 快速生成矢量图的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102054280B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301046B (zh) * | 2017-06-15 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 图标的处理方法和装置、计算机设备和存储介质 |
CN109559361B (zh) * | 2018-10-23 | 2023-11-28 | 高新兴科技集团股份有限公司 | 基于Android的不规则区域矢量图动态检测方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766932A (zh) * | 2004-10-25 | 2006-05-03 | 索尼株式会社 | 信息处理装置及方法、程序以及导航装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7486294B2 (en) * | 2003-03-27 | 2009-02-03 | Microsoft Corporation | Vector graphics element-based model, application programming interface, and markup language |
CN1273934C (zh) * | 2004-05-17 | 2006-09-06 | 上海交通大学 | 二值光栅图像的矢量化方法 |
US8121338B2 (en) * | 2004-07-07 | 2012-02-21 | Directsmile Gmbh | Process for generating images with realistic text insertion |
CN100561430C (zh) * | 2007-06-27 | 2009-11-18 | 中兴通讯股份有限公司 | 一种图形用户界面的截取和重现方法 |
CN100538726C (zh) * | 2008-01-31 | 2009-09-09 | 浙江工业大学 | 基于图像矢量化技术的服装样片自动录入装置 |
-
2010
- 2010-11-29 CN CN 201010564672 patent/CN102054280B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766932A (zh) * | 2004-10-25 | 2006-05-03 | 索尼株式会社 | 信息处理装置及方法、程序以及导航装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102054280A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103970518B (zh) | 一种逻辑窗口的3d渲染方法和装置 | |
CN105787402B (zh) | 一种信息展示方法及装置 | |
CN106095437A (zh) | 用户界面从右到左rtl的布局方式的实现方法及装置 | |
CN103544253A (zh) | 一种以瀑布流方式显示图片的实现方法及系统 | |
CN112380357B (zh) | 一种知识图谱可视化可交互导航实现的方法 | |
CN103605506B (zh) | 一种图形用户界面资源的显示方法及终端 | |
CN104035664A (zh) | 一种应用程序用户界面的显示方法及装置 | |
CN109767479B (zh) | 一种基于动态边界组序列的图元填充方法和系统 | |
CN102122502A (zh) | 一种三维字体显示方法以及相关装置 | |
KR101591427B1 (ko) | 3차원 지형 영상 가시화에서의 적응형 렌더링 방법 | |
CN115439609B (zh) | 基于地图服务的三维模型渲染方法、系统、设备及介质 | |
CN108197596B (zh) | 一种手势识别方法和装置 | |
CN107122104B (zh) | 数据显示方法及装置 | |
CN102054280B (zh) | 快速生成矢量图的方法及装置 | |
CN116109765A (zh) | 标注对象的三维渲染方法、装置、计算机设备、存储介质 | |
CN103543923A (zh) | 控件的点击事件处理方法及系统 | |
CN108961268B (zh) | 一种显著图计算方法及相关装置 | |
CN109493331B (zh) | 一种基于并行计算算法的两景图像重叠区域快速获取方法 | |
CN103902294A (zh) | 一种浏览器图像显示方法及终端 | |
CN107621951B (zh) | 一种视图层级优化的方法及装置 | |
CN102682463A (zh) | 基于Web Pseudo-3D的大规模数据可视化处理方法 | |
CN104574473A (zh) | 一种基于静态图片生成动态效果的方法和装置 | |
CA1200025A (en) | Graphic and textual image generator for a raster scan display | |
CN102902534A (zh) | 一种透明osd软件实现方法 | |
CN112445989A (zh) | 一种基于WebGIS地图文本标签避让显示方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 510670 Guangdong city of Guangzhou province Kezhu Guangzhou high tech Industrial Development Zone, Road No. 233 Patentee after: Wei Chong group Limited by Share Ltd Address before: 510663 No. 6, color road, hi tech Industrial Development Zone, Guangdong, Guangzhou, China Patentee before: Guangdong Weichuangshixun Science and Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130612 Termination date: 20191129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |