爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5095|回复: 7

版面大小修改后如何完整保存?

[复制链接]

新浪微博达人勋

发表于 2012-11-3 09:37:12 | 显示全部楼层 |阅读模式

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

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

x
我按照以前的帖子修改了版面大小,但是保存MapLayout的时候只有一部分图片:
(原帖是this.mapLayout1.PageBounds = new System.Drawing.Rectangle(0, 0, 1920, 1080);,现在不是c#,我用下面这句不知对不对)
mipy.MapDocument.MapLayout.SetBounds(0, 0, 1920, 1080)
mipy.MapDocument.MapLayout.ActiveLayoutMap.Left=80
mipy.MapDocument.MapLayout.ActiveLayoutMap.Top=100
mipy.MapDocument.MapLayout.ActiveLayoutMap.Width=1450
mipy.MapDocument.MapLayout.ActiveLayoutMap.Height=650
…………
mipy.MapDocument.MapLayout.ExportToPicture(baseDir+'test.png')
#mipy.MapDocument.ActiveMapFrame.MapView.ExportToPicture(baseDir+'test.png')
test.png
从图中可见图形不完整,如果保存mapview则图形是完整的,请老师帮忙看看

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-3 10:42:00 | 显示全部楼层
我觉 你把mipy.MapDocument.MapLayout.SetBounds(0, 0, 1920, 1080) 中的边界再设置小点试试吧~~~估计是你设置的边界范围大了点!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-3 12:52:00 | 显示全部楼层
mipy.MapDocument.MapLayout.ActiveLayoutMap.Width=1450
ActiveLayoutMap的宽度比MapLayout还大当然不完整了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-3 13:35:53 | 显示全部楼层

MapLayout是宽:0-1920 高1080
ActiveLayoutMap是宽0-1450 高0-650
是这么理解的么,ActiveLayoutMap不是在MapLayout的范围内么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-3 16:58:18 | 显示全部楼层
看了以前的帖子,和以前的miapp还是不同,miapp有个setpagesize方法
现在不管怎么设定,出来的图像都是720*480
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-3 18:28:46 | 显示全部楼层
本帖最后由 MeteoInfo 于 2012-11-3 18:29 编辑
vortexroc 发表于 2012-11-3 16:58
看了以前的帖子,和以前的miapp还是不同,miapp有个setpagesize方法
现在不管怎么设定,出来的图像都是720 ...

抱歉,之前没有仔细看问题。SetBounds是不起作用的,我给MapLayout加了一个SetPaperSize(int width, int height)方法,这个可以设置版面大小。注意缺省情况下MapLayout的Landscape属性为true,这时候width和height与常规相反。参考下列代码(需要MeteoInfo最新文件,见置顶帖子):

mipy.MapDocument.MapLayout.SetPaperSize(1080, 1920)
mipy.MapDocument.MapLayout.ActiveLayoutMap.Left=80
mipy.MapDocument.MapLayout.ActiveLayoutMap.Top=100
mipy.MapDocument.MapLayout.ActiveLayoutMap.Width=1450
mipy.MapDocument.MapLayout.ActiveLayoutMap.Height=650
mipy.MapDocument.MapLayout.ExportToPicture('D:\\test.png')
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-4 15:54:20 | 显示全部楼层
MeteoInfo 发表于 2012-11-3 18:28
抱歉,之前没有仔细看问题。SetBounds是不起作用的,我给MapLayout加了一个SetPaperSize(int width, int  ...

我把置顶的3个文件都更新了,SetPaperSize是可以用了,但是部分地图图层(比如cnworld)却不能加载了,只能加载.SHP格式的图层文件,这又是怎么回事呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-4 16:28:04 | 显示全部楼层
vortexroc 发表于 2012-11-4 15:54
我把置顶的3个文件都更新了,SetPaperSize是可以用了,但是部分地图图层(比如cnworld)却不能加载了,只 ...

你再更新一下最新的MeteoInfoC.dll文件。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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