绘制大像素图片的处理方法与流程

文档序号:16742400发布日期:2019-01-28 13:08阅读:917来源:国知局
绘制大像素图片的处理方法与流程

本发明涉及软件图像处理领域,特别是涉及一种绘制大像素图片的处理方法。



背景技术:

程序中采用常见的画图工具库绘制图片,对图片的像素大小往往有一定的限制,当图片的像素大小超出其限制范围时,程序只能绘制出局部,不能绘制出完整的图片,从而成为绘制超大像素图片的技术瓶颈。例如,采用c#和c++提供的画图工具库绘制61250*17710像素的bmp格式两位色图,只能绘制出61284*8778像素或30642*17555像素的局部图片。详细参阅附图,其中图1是目标绘制图片,图2和图3是实际绘制不完整图片。



技术实现要素:

基于此,有必要针对现有技术中的绘图软件处理大像素图片存在难以一次性绘制完整的问题,提供一种操作简单、方便能够实现大像素图片绘制的的处理方法。

一种绘制大像素图片的处理方法,所述处理方法包括以下步骤:根据绘制图片的大小,将图片分割为若干可完整绘制图片的画布;计算分割后图片的坐标原点和实际大图坐标原点的偏移距离;依次绘制各画布所在局域图像,并分别生成bmp格式文件;加载各所述bmp文件的数据,并将各所述bmp文件格式整合获取最终图片文件格式;截取每个bmp文件的位图数据,并拼接各部分位图数据;将预设图片头和拼接后的位图数据输出,并保存到最终的bmp文件,完成拼图输出。

在其中一个实施例中,沿高度方向将绘制图片分为程序可分别完整绘制的若干画布。

在其中一个实施例中,所述偏移距离使用坐标原点偏移方法获取。

在其中一个实施例中,所述拼接各部分位图数据的步骤之前还包括步骤:更新最终图片文件格式的实际高度。

在其中一个实施例中,拼接23-26位图高度的位图数据,并判断位图数据是否为正数,若是则将最后一张图倒序将数据内容合并;否则将各图片由第一张图顺序将数据内容合并。

在其中一个实施例中,所述bmp文件包括bmp文件头、位图信息头、调色板信息以及位图数据。

在其中一个实施例中,所述bmp文件头的长度为14字节。

在其中一个实施例中,所述bmp文件头包括bmp文件类型、文件大小以及位图起始位置信息。

在其中一个实施例中,所述位图信息头的长度为40字节,用于说明位图的尺寸信息。

在其中一个实施例中,所述截取每个bmp文件的位图数据的步骤中包括以下步骤:根据11-14字节解析出的偏移量截取各位图数据。

上述绘制大像素图片的处理方法,通过将大bmp图片分解成通过基础算法可完整绘制的多部分,在分解后的各部分上,按其在实际大图上对应的位置,绘制出该分解部分对应的具体图像,然后输出保存成bmp文件,最后通过文件数据处理,解析合并所有分解的bmp文件并获取最终的大像素图片。通过上述拼图法能够解决采用普通绘图方法不能绘制较大像素图片的问题,且该处理方法在理解和代码实现上较为简单、方便,有一定的使用价值。

附图说明

图1为背景技术中的一实施例的目标绘制图片。

图2为背景技术中的一实施例的实际绘制不完整图片。

图3为背景技术中的一实施例的另一实际绘制不完整图片。

图4为一实施例的绘制大像素图片的处理方法的流程图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

在一实施方式中,一种绘制大像素图片的处理方法,所述处理方法包括以下步骤:根据绘制图片的大小,将图片分割为若干可完整绘制图片的画布;计算分割后图片的坐标原点和实际大图坐标原点的偏移距离;依次绘制各画布所在局域图像,并分别生成bmp格式文件;加载各所述bmp文件的数据,并将各所述bmp文件格式整合获取最终图片文件格式;截取每个bmp文件的位图数据,并根据位图数据中11-14字节解析出的偏移量截取各位图数据;更新最终图片文件格式的实际高度,并拼接各部分位图数据;将预设图片头和拼接后的位图数据输出,并保存到最终的bmp文件;删除中间输出的各拆分图片,完成拼图输出。

上述绘制大像素图片的处理方法,通过将大bmp图片分解成通过基础算法可完整绘制的多部分,在分解后的各部分上,按其在实际大图上对应的位置,绘制出该分解部分对应的具体图像,然后输出保存成bmp文件,最后通过文件数据处理,解析合并所有分解的bmp文件并获取最终的大像素图片。通过上述拼图法能够解决采用普通绘图方法不能绘制较大像素图片的问题,且该处理方法在理解和代码实现上较为简单、方便,有一定的使用价值。

下面结合具体实施例对所述绘制大像素图片的处理方法进行说明,以进一步理解所述绘制大像素图片的处理方法的发明构思。

请参阅图1,一种绘制大像素图片的处理方法,所述处理方法包括以下步骤:

s101:根据绘制图片的大小,将图片分割为若干可完整绘制图片的画布;

在其中一实施例中,沿高度方向将绘制图片分为程序可分别完整绘制的若干画布。即通过将大像素图片沿着其高度方向(y向)分割成若干小部分,每一部分可被完整绘制在一个画布中,即通过若干画布最终组合拼接成一完整的大像素图片。

s102:计算分割后图片的坐标原点和实际大图坐标原点的偏移距离;

在其中一实施例中,所述偏移距离使用坐标原点偏移方法获取。即分割后图片的坐标原点和实际大图坐标原点的偏移距离采用坐标原点偏移方法测得。这样输出保存的图像就是相对实际大图的分割部分。

s103:依次绘制各画布所在局域图像,并分别生成bmp格式文件;

即在每一个画布上分别对应绘制各个局域图像,然后分别对应生成bmp格式文件。具体地,在其中一实施例中,所述bmp文件包括bmp文件头、位图信息头、调色板信息以及位图数据。具体地,所述bmp文件头的长度为14字节。在其中一实施例中,所述bmp文件头包括bmp文件类型、文件大小以及位图起始位置信息。在其中一实施例中,所述位图信息头的长度为40字节,用于说明位图的尺寸信息。在其中一实施例中,所述调色板信息,用于说明位图中的颜色。在其中一实施例中,所述位图数据,用于记录位图的每一个像素值。

s104:加载各所述bmp文件的数据,并将各所述bmp文件格式整合获取最终图片文件格式;

其中对于整合bmp格式过程中的重要数据进行下述说明:1-2位:图像文件头(这里的数字代表的是字节,下同),0x4d42=“bm”,表示是windows支持的bmp格式;3-6位:整个文件大小;7-8位:保留,必须设置为0;9-10位:保留,必须设置为0;11-14位:从文件开始到位图数据之间的偏移量(14+40+4*(2^bibitcount));15-18位:位图信息头长度;19-22位:位图宽度,以像素为单位;23-26位:位图高度,以像素为单位。其余数据未解析修改,在此不做详细说明。

s105:截取每个bmp文件的位图数据,并拼接各部分位图数据;

在其中一实施例中,根据11-14字节解析出的偏移量截取各位图数据。即对每一所述bmp文件的位图数据中11-14字节解析出的偏移量,从而获取每一个位图的数据。

在其中一实施例中,所述拼接各部分位图数据的步骤之前还包括步骤:更新最终图片文件格式的实际高度。具体地,因横向分割第19-22字节对应的位图实际宽度不需要修改,因此将第23-26字节对应的高度更新成各分割位图高度总和。

需要说明的是,在拼接各部分位图数据时,仅仅针对第23-26字节对应的高度更新成各分割位图高度总和。在其中一实施例中,拼接23-26位图高度的位图数据,并判断位图数据是否为正数,若是则将最后一张图倒序将数据内容合并;否则将各图片由第一张图顺序将数据内容合并。即23-26位图高度,如果是正数说明图像是倒向的,如果该值是个负数说明图像是正向的。如果倒向就需要从最后一张图倒序将数据内容合并在一起;如果是正向则需要从第一张顺序将数据内容合并到一起。

s106:将预设图片头和拼接后的位图数据输出,并保存到最终的bmp文件,完成拼图输出。

在其中一实施例中,所述完成拼图输出的步骤之前还包括步骤:删除中间输出的各拆分图片。即,在输出最终拼图时,将过程中的拆分图片进行删除。这样可避免拆分图片影响最终拼图输出效果。

上述绘制大像素图片的处理方法,通过将大bmp图片分解成通过基础算法可完整绘制的多部分,在分解后的各部分上,按其在实际大图上对应的位置,绘制出该分解部分对应的具体图像,然后输出保存成bmp文件,最后通过文件数据处理,解析合并所有分解的bmp文件并获取最终的大像素图片。通过上述拼图法能够解决采用普通绘图方法不能绘制较大像素图片的问题,且该处理方法在理解和代码实现上较为简单、方便,有一定的使用价值。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1