一种大像素BMP格式图像的绘制方法与流程

文档序号:16903454发布日期:2019-02-19 18:12阅读:715来源:国知局
一种大像素BMP格式图像的绘制方法与流程

本发明涉及软件编程图像处理技术领域,尤其涉及一种大像素bmp格式图像的绘制方法。



背景技术:

程序中对图像的处理方法一般是通过采集二维矢量坐标转换成像素坐标然后调用画图工具库如:easyx、gdi、gui等绘制图片,但是easyx、gdi、gui等这些工具库所能绘制图片的像素大小有一定的局限,当图片的像素大小超出其限制范围时,程序无法建立该像素大小的画布,或是该像素大小的画布可以建立成功,但是图像只能绘制出局部,不能绘制出完整的图片,因此大像素的图片绘制成了一定的技术瓶颈。

例如,c++提供的画图工具库绘制60253*17181像素的bmp格式图片只能绘制出局部图画。详细参考下图,其中图1是目标绘制图片,图8是实际绘制不完整图片。



技术实现要素:

有必要提出一种大像素bmp格式图像的绘制方法。

一种大像素bmp格式图像的绘制方法,包括以下步骤:

将待绘制图像预划分为第一图像和第二图像;

建立第一画布,建立第二画布;

在第一画布上抠出所述第二图像所占用的部分图像位置,并存至所述第二画布上,并在第一画布上记录被抠出的部分图像位置的标识坐标点;

分别在第一画布和第二画布上绘制第一图像和第二图像;

将绘制有第二图像的第二画布填充在第一画布里面,保持第二画布的起始坐标点与第一画布上的标识坐标点重合,形成在同一画布上绘制得到的大图像;

将第一画布输出保存在最终的bmp文件内,完成抠图填充大像素图像的输出。

优选的,所述第一图像和第二图像的最大边长不大于60253/2。

优选的,所述第一画布上记录被抠出的部分图像位置的标识坐标点的坐标为(xa、ya、w、h),其中xa、ya分别为画布的x轴的坐标和y轴坐标,w为被抠出的部分画布的长度,h为被抠出的部分画布的高度,以对被抠出的部分图像的位置和轮廓进行唯一定位。

优选的,将待绘制图像沿着x轴方向预划分为第一图像、第二图像、第三图像;

建立第一画布,建立第二画布,建立第三画布;

在第一画布上抠出所述第二图像所占用的第二部分图像位置,并存至所述第二画布上,并在第一画布上记录被抠出的第二部分图像位置的第二标识坐标点;在第一画布上抠出所述第三图像所占用的第三部分图像位置,并存至所述第三画布上,并在第一画布上记录被抠出的第三部分图像位置的第三标识坐标点;

分别在第一画布、第二画布、第三画布上绘制第一图像、第二图像、第三图像;

将绘制有第二图像的第二画布填充在第一画布里面,保持第二画布的起始坐标点与第一画布上的第二标识坐标点重合;将绘制有第三图像的第三画布填充在第一画布里面,保持第三画布的起始坐标点与第一画布上的第三标识坐标点重合,形成在同一画布上绘制得到的大图像;

将第一画布输出保存在最终的bmp文件内,完成抠图填充大像素图像的输出。

优选的,将待绘制图像沿着x轴和y轴方向预划分为第一图像、第二图像、第三图像;

建立第一画布,建立第二画布,建立第三画布;

在第一画布上抠出所述第二图像所占用的第二部分图像位置,并存至所述第二画布上,并在第一画布上记录被抠出的第二部分图像位置的第二标识坐标点;在第一画布上抠出所述第三图像所占用的第三部分图像位置,并存至所述第三画布上,并在第一画布上记录被抠出的第三部分图像位置的第三标识坐标点;

分别在第一画布、第二画布、第三画布上绘制第一图像、第二图像、第三图像;

将绘制有第二图像的第二画布填充在第一画布里面,保持第二画布的起始坐标点与第一画布上的第二标识坐标点重合;将绘制有第三图像的第三画布填充在第一画布里面,保持第三画布的起始坐标点与第一画布上的第三标识坐标点重合,形成在同一画布上绘制得到的大图像;

将第一画布输出保存在最终的bmp文件内,完成抠图填充大像素图像的输出。

本发明采用在相同大小画布上抠图补充的方法来解决采用普通绘图方法不能绘制较大像素图片的问题,该方法在理解和代码实现上较为简单、方便,有一定的使用价值。

附图说明

图1为待绘制的大图像的示意图。

图2为在第一画布上抠出的部分图像位置的示意图。

图3为c++的第一画布的示意图。

图4为c++的第二画布的示意图。

图5为在第一画布上绘制第一图像的示意图。

图6为在第二画布上绘制第二图像的示意图。

图7为将第二图像补充在第一画布上的大图像的示意图。

图8是现有技术采用c++绘制得到的图像。图中可见,第二图像并不能在画布上完整被绘制出来。

图9为对待绘制的大图像进行另一种划分方式的示意图。

图10为对图9划分得到的第二图像在第二画布上绘制得到的示意图。

图11为对图9划分得到的第三图像在第三画布上绘制得到的示意图。

图12为对待绘制的大图像进行第三种划分方式的示意图。

图13为对图12划分得到的第二图像在第二画布上绘制得到的示意图。

图14为对图12划分得到的第三图像在第三画布上绘制得到的示意图。

图中:第一图像10、第二图像20、第一画布30、第二画布40、部分图像位置50、第二部分图像位置60、第三部分图像位置70、第二部分图像位置601、第三部分图像位置701。

具体实施方式

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

参见图1至图7,本发明实施例提供了一种大像素bmp格式图像的绘制方法,包括以下步骤:

将待绘制图像预划分为第一图像10和第二图像20;

建立第一画布30;

建立第二画布40,在第一画布30上抠出所述第二图像20所占用的部分图像位置50,(即第二图像20为在第一画布30上不能绘制图像的部分图像)并存至所述第二画布40上,并在第一画布30上记录被抠出的部分图像位置50的标识坐标点a(xa、ya);

分别在第一画布30和第二画布40上绘制第一图像10和第二图像20;

将绘制有第二图像20的第二画布40填充在第一画布30里面,保持第二画布40的起始坐标点b(xb、yb)与第一画布30上的标识坐标点a(xa、ya)重合,形成在同一画布上(即第一画布30)绘制得到的大图像;

将第一画布30输出保存在最终的bmp文件内,完成抠图填充大像素图像的输出。

进一步,所述第一图像和第二图像的最大边长不大于60253/2。由于本发明使用的绘图工具中画图程序能够识别的最大数组为232,而该数组在画布中所占据的长度不大于60253/2,为了避免图像在画布中不能完整显示,所以限制划分图像的最大边长不大于60253/2。

进一步,所述第一画布上记录被抠出的部分图像位置的标识坐标点的坐标为a(xa、ya、w、h),其中xa、ya分别为画布的x轴的坐标和y轴坐标,w为被抠出的部分画布的长度,h为被抠出的部分画布的高度,以对被抠出的部分画布的位置和轮廓进行唯一定位。

进一步,本发明方法还可以对大像素图像进行多块划分,该多块划分包括同一方向的划分和不同方向的划分。例如,以下改进方法一为沿着同一方向的划分,改进方法二为沿着不同方向的划分,依次类推,本发明方法适用于将较大图像在各个方向划分、且划分为不同性质的图像的绘制。

参加图9-图11,改进方法一:将待绘制图像预划分为第一图像、第二图像、第三图像;该划分方法为将图像沿着x轴方向划分。

建立第一画布;

建立第二画布,建立第三画布,在第一画布上抠出所述第二图像所占用的第二部分图像位置60,并存至所述第二画布上,并在第一画布上记录被抠出的第二部分图像位置的第二标识坐标点c(xc、yc);在第一画布上抠出所述第三图像所占用的第三部分图像位置70,并存至所述第三画布上,并在第一画布上记录被抠出的第三部分图像位置的第三标识坐标点d(xd、yd);

分别在第一画布、第二画布、第三画布上绘制第一图像、第二图像、第三图像;

将绘制有第二图像的第二画布填充在第一画布里面,保持第二画布的起始坐标点c’与第一画布上的第二标识坐标点c重合;将绘制有第三图像的第三画布填充在第一画布里面,保持第三画布的起始坐标点d’与第一画布上的第三标识坐标点d重合,形成在同一画布上绘制得到的大图像;

将第一画布输出保存在最终的bmp文件内,完成抠图填充大像素图像的输出。

参加图12-图14,改进方法二:将待绘制图像预划分为第一图像、第二图像、第三图像;该划分方法为将图像沿着x轴和y轴方向划分。

建立第一画布;

建立第二画布,建立第三画布,在第一画布上抠出所述第二图像所占用的第二部分图像位置601,并存至所述第二画布上,并在第一画布上记录被抠出的第二部分图像位置的第二标识坐标点c1(xc、yc);在第一画布上抠出所述第三图像所占用的第三部分图像位置701,并存至所述第三画布上,并在第一画布上记录被抠出的第三部分图像位置的第三标识坐标点d1(xd、yd);

分别在第一画布、第二画布、第三画布上绘制第一图像、第二图像、第三图像;

将绘制有第二图像的第二画布填充在第一画布里面,保持第二画布的起始坐标点c1’与第一画布上的第二标识坐标点c1重合;将绘制有第三图像的第三画布填充在第一画布里面,保持第三画布的起始坐标点d1’与第一画布上的第三标识坐标点d1重合,形成在同一画布上绘制得到的大图像;

将第一画布输出保存在最终的bmp文件内,完成抠图填充大像素图像的输出。

本发明实施例装置中的模块或单元可以根据实际需要进行合并、划分和删减。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

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