一种AutoCAD大图高像素位图批量分块导出方法
【技术领域】
[0001]本发明涉及一种图形处理方法,尤其涉及一种AutoCAD高像素位图的批量分块导出计算机处理方法,属于图像处理技术领域。
【背景技术】
[0002]随着计算机在工厂的普及,越来越多的企业使用AutoCAD软件进行绘图,绘制的图像也越来越大,比如建筑设计图、船舶设计图等,在某些时候需要将绘制好的图形转成高像素位图进行图像处理,一种方法是AutoCAD自带的导出位图的功能,但该功能与屏幕打印的功能类似,分辨率很低,达不到高像素的导出效果。AutoCAD的虚拟打印功能可以实现高像素的位图导出,但由于一些图在AutoCAD中绘制的图像非常大,直接导出高像素图像,该图像的容量大约400M以上,甚至会达到IG以上,文件的打开、保存和非常的慢,操作不方便。这样工作人员在图形处理的时候时间都消耗在图像的磁盘操作过程中,所以目前此类AutoCAD大图高像素导出位图的时候,位图文件很大,后续的图像处理速度很慢,工作效率不闻。
【发明内容】
[0003]本发明的目的在于提供一种AutoCAD大图高像素位图批量分块导出方法,利用0bjectARX2008针对AutoCAD2008进行二次开发,根据需导出的大图的总高度和宽度,分块自动批量导出成高像素的位图,自动进行文件编号,后续图像处理操作只需针对某个分块位图进行操作,位图文件容量明显减小,操作速度大大加快。
[0004]本发明的目的通过以下技术方案予以实现:一种高像素位图批量分块导出方法,包括以下步骤:(1)先输入导出区域中心点、长度、宽度参数,横向分块数目,纵向分块数目,就是以几行几列的模式导出,两个数字相乘就是导出图像的总块数,导出文件名称可以自定义,比如PiC开头的BMP文件;⑵根据上述参数可以计算每个分块区域的长度、宽度,并循环计算得到每个分块区域的左下角坐标Ln(X,y),右上角点坐标Rn(X,y) ,η是从I到分块区域的总块数,分块顺序先从左到右,再从上到下;(3)此时选择是否导出全部分块还是导出其中的某一块或某几块区域?如果是全部导出则从I到总块数η循环以下流程,如果是导出某一块或某几块,则根据上述的分块顺序输入一个或几个块号,根据块号的坐标参数循环以下流程,导出单块则不循环;(4)建立一个AutoCAD的图形界限,图形界限左下角点为Li点,右上角点为Ri点,i是当前分块号;(5)选择是否新建虚拟打印图形尺寸;(6)用户可以输入新图形尺寸的高度与宽度,并新建图形尺寸,也可以直接选择系统本身的图形尺寸;(7)设置打印范围参数是图形界限;(8)设置打印比例参数是布满图纸;(9)设置打印偏移参数是居中打印;(10)使用MS-WindowsBMP (非压缩DIB).pc3虚拟打印机进行打印,按序号递增如输出文件名picOOl.bmp或pic002.bmp等,文件名依次类推;如果未循环结束,重复以上导出流程。
[0005]与现有技术相比,本发明的有益效果是:解决AutoCAD中现有绘制位图导出方法分辨率较低的问题,解决大图导出高像素图形文件容量太大,后续图形处理操作非常耗时的问题,分块后的位图文件容量明显减小,操作速度大大加快,提高了工作效率。
【具体实施方式】
[0006]下面结合实施例对本发明作进一步说明。
[0007]一种AutoCAD大图高像素位图批量分块导出方法如下,以AutoCAD2008例图db_samp, dwg为例,图像需要高像素导出,比如导出高宽为12000*12000像素的BMP文件,BMP文件容量达到420M,在用本方法分块导出高像素位图可以分成4块批量导出,每块的像素为6000*6000,文件容量减少到105M,流程如下:
[0008](I)要先输入导出区域中心点(0,O)、长度12000mm、宽度参数12000mm,横向分块数目2,纵向分块数目2,就是以2行2列的模式导出,导出图像的总块数为4,导出文件名称为pic开头的BMP文件;
[0009](2)根据上述参数可以计算每个分块区域的长度为1600mm、宽度为1600mm,并循环计算得到每个分块区域的左下角坐标LI (-1600,O),右上角点坐标Rl (O, 1600),同理L2 (O, O)、R2 (1600,1600),L3 (-1600,-1600)、R3 (O, O),L4 (O, -1600)、R4 (1600,O),分块顺序先从左到右,再从上到下;
[0010](3)此时选择是否导出全部分块还是导出其中的某一块或某几块区域?如果是全部导出则从I到总块数η循环以下流程,如果是导出某一块或某几块,则根据上述的分块顺序输入一个或几个块号,根据块号的坐标参数循环以下流程,导出单块则不循环;此处导出1,3两块区域,根据1,3块的参数进行下面的循环导出流程;
[0011](4)先导出第I块区域,建立一个AutoCAD的图形界限,图形界限左下角点为LI点(-1600, O),右上角点为Rl点(0,1600),图形界限在下面虚拟打印时会用到;
[0012](5)选择是否新建虚拟打印图形尺寸?用户可以根据当前分块的高度和宽度新建导出的图形尺寸,这样导出的位图的比例与原图一致,也可以直接选择系统本身的图形尺寸;此处新建6000*6000像素的图形尺寸,如果系统中已存在此尺寸则跳过这一步;
[0013](6)设置打印范围参数是图形界限,这样导出的位图会根据上述设定的图形界限范围内的导出,范围外的不导出;
[0014](7)设置打印比例参数是布满图纸;
[0015](8)设置打印偏移参数是居中打印;
[0016](9)使用MS-WindowsBMP (非压缩DIB).pc3虚拟打印机进行打印,按序号递增如输出文件名pic001.bmp,第I块区域导出完成,再重复以上导出流程导出第3块区域。
[0017]本发明解决了 AutoCAD中现有绘制位图导出方法分辨率较低的问题,解决大图导出高像素图形文件容量太大,后续图形处理操作非常耗时的问题,分块后的位图文件容量明显减小,操作速度大大加快,提高了工作效率。
[0018]除上述实施例外,本发明还可以有其他实施方式,凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围内。
【主权项】
1.一种AutoCAD大图高像素位图批量分块导出方法,其特征在于,包括以下步骤: (1)先输入导出区域中心点、长度、宽度参数,横向分块数目,纵向分块数目,就是以几行几列的模式导出,两个数字相乘就是导出图像的总块数,导出文件名称可以自定义,比如Pic开头的BMP文件; (2)根据上述参数可以计算每个分块区域的长度、宽度,并循环计算得到每个分块区域的左下角坐标Ln (X,y),右上角点坐标Rn (x, y),η是从I到分块区域的总块数,分块顺序先从左到右,再从上到下; (3)此时选择是否导出全部分块还是导出其中的某一块或某几块区域?如果是全部导出则从I到总块数η循环以下流程,如果是导出某一块或某几块,则根据上述的分块顺序输入一个或几个块号,根据块号的坐标参数循环以下流程,导出单块则不循环; (4)建立一个AutoCAD的图形界限,图形界限左下角点为Li点,右上角点为Ri点,i是当前分块号; (5)选择是否新建虚拟打印图形尺寸; (6)用户可以输入新图形尺寸的高度与宽度,并新建图形尺寸,也可以直接选择系统本身的图形尺寸; (7)设置打印范围参数是图形界限;(8)设置打印比例参数是布满图纸;(9)设置打印偏移参数是居中打印; (10)使用MS-WindowsBMP (非压缩DIB).pc3虚拟打印机进行打印,按序号递增如输出文件名picOOl.bmp或pic002.bmp等,文件名依次类推;如果未循环结束,重复以上导出流程。
【专利摘要】本发明公开了一种AutoCAD大图高像素位图批量分块导出方法,利用ObjectARX2008针对AutoCAD2008进行二次开发,根据需导出的大图的总高度和宽度,分块自动批量导出成高像素的位图,自动进行文件编号,后续图像处理操作只需针对某个分块位图进行操作,位图文件容量明显减小,操作速度大大加快。
【IPC分类】G06F3/12
【公开号】CN105630429
【申请号】CN201410584045
【发明人】李 东
【申请人】青岛金讯网络工程有限公司
【公开日】2016年6月1日
【申请日】2014年10月27日