zoukankan      html  css  js  c++  java
  • Engine跟踪层自定义图标

    用的是IPictureMarkerSymbol接口,例子程序里有了一个很好的函数,我稍微改了下参数,做成了可以改变路径的了。返回值是ISymbol。

           private ISymbol CreateStandardLogoSymbol(string m_logoPath)
           {
               IPictureMarkerSymbol pictureMarkerSymbol = new PictureMarkerSymbolClass();
               pictureMarkerSymbol.CreateMarkerSymbolFromFile(esriIPictureType.esriIPictureBitmap, m_logoPath);
               pictureMarkerSymbol.Size = 100;
               //IColor whiteTransparencyColor = ESRI.ArcGIS.ADF.Connection.Local.Converter.ToRGBColor(Color.FromArgb(255, 255, 255)) as IColor;
               //pictureMarkerSymbol.BitmapTransparencyColor = whiteTransparencyColor;

               return pictureMarkerSymbol as ISymbol;
           }

    重新读了一下IGraphicTracker的接口说明,发现IGraphicTracker既能够接受图标,又能够创造图标。。添加用的是add,创造的话用的是CreateSymbol...很幸运的是,CreateSymbol的参数就是ISymble接口的。

    于是乎,很简单的几句话就搞定了:

             ISymbol mysymbol; //定义一个接口

             //调用上面的函数实例化。。

             mysymbol = CreateStandardLogoSymbol(@"E:PROJECTMyFirstArcEngineMyFirstArcEngineImage efresh.bmp");

               //用IGraphicTracker创建IGraphicTrackerSymbol

                IGraphicTrackerSymbol gtSymbol1 = m_graphicTracker.CreateSymbol(mysymbol, null);
                m_GTSymbols.Add(0, gtSymbol1);

    一切就顺理成章了。。不过经过实验,似乎只能支持bmp的图标,png和icon的似乎都不支持。。

  • 相关阅读:
    linux下后台执行shell脚本nohup
    notepad++常用命令
    dmidecode查看硬件信息
    CSV文件自动化(自定义参数)
    服务器数据恢复案例分享-硬盘掉线恢复
    DELL EqualLogic PS6100存储硬盘坏道数据恢复
    成功恢复某服务器丢失数据过程
    分析Linux raid6同步成raid5导致数据丢失的情况
    服务器RAID硬盘离线和数据库损坏数据恢复方法
    chkdsk 后数据丢失的恢复方法
  • 原文地址:https://www.cnblogs.com/janeaiai/p/4933905.html
Copyright © 2011-2022 走看看