爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4284|回复: 6

直接在mapview中添加图片怎么做?

[复制链接]

新浪微博达人勋

发表于 2020-7-31 08:16:28 | 显示全部楼层 |阅读模式

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

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

x
类似于在原有的图片上添加Logo水印
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-7-31 09:00:22 | 显示全部楼层
用“添加点”工具栏按钮在地图上添加一个点,修改点的属性Marker Type 为 Image,然后选择一个图片就可以了。图片要放在MeteoInfo -> image 目录中。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-31 09:30:56 | 显示全部楼层
本帖最后由 lnbxlfy 于 2020-7-31 10:07 编辑

王老师好,我没有阐述明白。
我使用meteoinfoc二次开发。只用到了mapview控件。我需要的层都添加在mapvew控件上。我说的这个水印,其实就是把色标做成了图片。现在想把这个图片添加到mapview中。代码中如何办到?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-31 09:36:51 | 显示全部楼层
还有,王老师:
private void load_layer()
        {
            string aaFile = System.Windows.Forms.Application.StartupPath + "\\AboutMap\\bx.shp";
            MapLayer aaLayer = MapDataManage.OpenLayer(aaFile);
            aaLayer.LegendScheme.LegendBreaks[0].Color = Color.WhiteSmoke;
            aaLayer.TransparencyPerc = 100;//蒙版透明度
            mapView1.AddLayer(aaLayer);
        }
这段代码,昨晚运行没问题。今早再运行的时候
mapView1.AddLayer(aaLayer);
这句提示:“未将对象设置到对象实例”!搞得我一脑门子雾水
这是怎么了?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2020-7-31 10:07:14 | 显示全部楼层
lnbxlfy 发表于 2020-7-31 09:36
还有,王老师:
private void load_layer()
        {

C#我已经几年没写了,MeteoInfo是开源软件,你可以参考其源代码。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2020-7-31 10:13:33 | 显示全部楼层
王老师,上述的问题应该不是代码的问题啊。估计是操作系统或者是runtime的问题。但是我找不到原因。请达者给个解释啊。
也许是天热,都是汗啊!在线等
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-6-1 20:53:54 | 显示全部楼层
lnbxlfy 发表于 2020-7-31 09:36
还有,王老师:
private void load_layer()
        {

因为一开始就需要包括mapframe和layerslegend,mapframe配套,不能单独使用mapview的,其实new这配套的三个对象其实也不麻烦,界面不显示就行。

            ///初始化图层
            LayersLegend layersLegend = new LayersLegend();
            MapFrame mapFrame = new MapFrame();
            MapLayout mapLayout = new MapLayout();
            MapView mapView1 = new MapView();
            mapFrame.MapView = mapView1;
            layersLegend.MapLayout = mapLayout;
            layersLegend.AddMapFrame(mapFrame);
            mapFrame.Active = true;            
            mapView1.LockViewUpdate = true;//true的时候才能更改图片!
在你代码跑之前先准备好上述代码试试吧
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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