爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3157|回复: 0

王老师,请问下使用meteinfo如何截取指定范围内的图片

[复制链接]

新浪微博达人勋

发表于 2017-3-27 16:20:23 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
我目前的代码如下,
  1.             LayersLegend lld = new LayersLegend();
  2.             MapView mv = new MapView();
  3.             MapLayout ml = new MapLayout();
  4.             MeteoInfoC.Global.Extent ex = new MeteoInfoC.Global.Extent();
  5.             ex.minX = 100;
  6.             ex.maxX = 150;
  7.             ex.minY = 15;
  8.             ex.maxY = 40;
  9.             mv.Extent = ex;
  10.             ////ml.Bounds = rect;
  11.             //ml.PageBounds = rect;

  12.             mv.Dock = ml.Dock = System.Windows.Forms.DockStyle.Fill;
  13.             MapFrame mf = new MapFrame();
  14.             mf.MapView = mv;
  15.             mf.Active = true;
  16.             lld.MapFrames.Add(mf);
  17.             lld.MapLayout = ml;
  18.             bool hasUndefData = false;

  19.             LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(_gridData,
  20.                         LegendType.GraduatedColor, ShapeTypes.Polygon, ref hasUndefData);
  21.             RasterLayer aLayer = DrawMeteoData.CreateRasterLayer(_gridData, "gd", aLS);
  22.             aLayer.ProjInfo = meteinfo.ProjInfo;
  23.             
  24.             aLayer.Extent = ex;
  25.             //Rectangle rect = new Rectangle();
  26.             //rect.X = 5;
  27.             //rect.Y = 5;
  28.             //rect.Width = 700;
  29.             //rect.Height = 400;
  30.             //ml.LayoutMaps[0].Bounds = rect;
  31.             //ml.LayoutMaps[0].GridXOrigin = 103;
  32.             //ml.LayoutMaps[0].GridYOrigin = 30;
  33.             
  34.             lld.ActiveMapFrame.AddLayer(aLayer);
  35.             lld.Refresh();
  36.             lld.IsLayoutView = true;
  37.             Size s = new Size();
  38.             s.Width = 700;
  39.             s.Height = 400;
  40.             ml.ClientSize = s;
  41.            
  42.             ml.PaintGraphics();
  43.             ml.Refresh();
  44.             if (!Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + "/Contour/"))
  45.             {
  46.                 Directory.CreateDirectory(AppDomain.CurrentDomain.BaseDirectory + "/Contour/");
  47.             }
  48.             ml.ExportToPicture(AppDomain.CurrentDomain.BaseDirectory + "/Contour/" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".png");
复制代码
想用这个代码。提取出ex中指定区域内的信息并导出到图片,但是随便我怎么设置,最后生成的图都是
20170327155507484.png 这种样子的,无法达到只截取中间那块图片内容。
其中gridData为grads的数据, projectInfo的parame参数为
QQ截图20170327162425.png
真心不知道该如何处理了 ,请老师提示一下该使用什么方式来截取,或者说是否支持截取功能。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表