[发明专利]一种基于GDI+和GDAL的超大图件成图方法和系统有效
申请号: | 202010375768.2 | 申请日: | 2020-05-07 |
公开(公告)号: | CN111724454B | 公开(公告)日: | 2023-09-19 |
发明(设计)人: | 李仙伟 | 申请(专利权)人: | 武汉臻图网络科技有限公司 |
主分类号: | G06T11/60 | 分类号: | G06T11/60;G06F9/451 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 430011 湖北省武汉市江岸区解*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gdi gdal 大图 件成图 方法 系统 | ||
1.一种基于GDI+和GDAL的超大图件成图方法和系统,其特征在于,所述基于GDI+和GDAL的超大图件成图方法包括如下步骤:
S1:通过GDAL创建超大图件文档;
S2:根据图件大小、计算机内存,计算图件分割条带数N,将图件分割为R1、R2、R3…Ri…RN共N个条带,并依次分别执行S3、S4、S5、S6步骤;
S3:通过GDI+创建Ri条带的Bitmap对象,并创建Graphics对象;
S4:根据条带序号i,计算并更改坐标系统的原点;
S5:通过Graphics对象绘制图形内容;
S6:通过GDAL将Bitmap对象写入到图件文档;
步骤S3中,Ri条带的Bitmap对象需根据步骤S1输出图件文档创建方式,即创建空白的Bitmap对象,或从已有图形文档读取得到Bitmap对象,包括以下步骤:
S31:根据矩形范围,通过GDAL读取透明度、红、绿、蓝4个通道的byte数组,透明度通道可以为空;
S32:通过Bitmap.LockBits和Marshal.Copy,将byte数组转换为Bitmap对象;
步骤S6中,通过Bitmap.LockBits和Marshal.Copy,将Bitmap对象转换为byte数组,得到RGBBytesObject对象,然后再通过GDAL将RGBBytesObject对象里的数据写入到图件文档。
2.根据权利要求1所述方法,其特征在于,步骤S1中,图件文档支持tif、img和png三种图形格式,可新建空白图形文档或从已有图形文档创建,图件文档支持2GB以上大小。
3.根据权利要求1所述方法,其特征在于,所述步骤S5包括以下分步骤:
S51:基于GDI+封装直线、折线、多边形、矩形、圆形、图片、文字等图形对象,具体包括ShapeObject、BackColorShape、StraightLineShape、PolylineShape、PolygonShape、RectangleShape、CircleShape、ImageShape、StringTextShape等对象,对象里定义图形的坐标以及颜色、宽度、对齐方式等参数,其中,ShapeObject为其他类的基类;
S52:根据成图大小和图形内容,将世界坐标换算为图像坐标,并按上述S51步骤定义的图形对象,将图形对象依次添加到集合ShapeList;
S53:循环ShapeList集合,根据Shape类型,组合调用Graphics的DrawLine、DrawLines、DrawRectangle、DrawRectangles、DrawPolygon、FillPolygon、FillRectangle、FillRectangles、DrawString、DrawImage等基本方法绘制图形。
4.根据权利要求1所述方法,其特征在于,RGBBytesObject对象包括ABand、RBand、GBand、BBand、Opacity这5个属性,其中,ABand、RBand、GBand、BBand为透明度、红、绿、蓝4个波段通道的byte数组,Opacity为叠加透明度。
5.根据权利要求4所述方法,其特征在于,Opacity透明度是在ABand基础上,当前绘制图形整体叠加的透明度,绘制时会与ABand通道进行混合计算,主要是达到图形对象之间半透明叠加效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉臻图网络科技有限公司,未经武汉臻图网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010375768.2/1.html,转载请声明来源钻瓜专利网。
- 用掺钕硼酸钆铝晶体制造的激光二极管泵浦的自倍频蓝色激光器
- GdAl<sub>3</sub>(BO<sub>3</sub>)<sub>4</sub>晶体生长助熔剂及GdAl<sub>3</sub>(BO<sub>3</sub>)<sub>4</sub>晶体生长方法
- 一种GIS栅格数据云存储方法
- 基于分布式数据库的海量超大影像存取方法
- 遥感影像云存储方法
- 一种基于本体模型的Geodatabase到地理OWL文件的转换方法
- 一种利用GDAL和SHAPELIB在遥感图像上快速叠加显示海岸线方法
- 地理信息系统中测绘成果的坐标转换方法及系统
- 一种输电线路气象覆冰位置确定方法
- 一种基于GDI+和GDAL的超大图件成图方法和系统