zoukankan      html  css  js  c++  java
  • 实现图像添加label

    void CmapwingisTest2View::OnToolsAddTiffLayer()

    {

             TCHAR szFilters[]= _T("TIFF Files (*.tif)|*.tif||");  

             CFileDialog fileDlg (TRUE,_T("tif"),_T("*.tif"),  

                       OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);  

             if( fileDlg.DoModal ()!=IDOK )   return;

             CString m_strFilePath = fileDlg.GetPathName();  

             if (_T("")!=m_strFilePath)  

             {  

                       // 先删除所有图层  

                       //m_map.RemoveAllLayers();  

                       // 获取后缀名判断文件是tif图像还是shp文件  

                       CString strExt = m_strFilePath.Right(3);  

                       if (_T("tif")==strExt)  

                       {  

                                // 创建图像接口打开图像加入地图  

                                mapWindow::IImagePtr pImage;  

                                pImage.CreateInstance(__uuidof(mapWindow::Image));  

                                pImage->Open(_bstr_t(m_strFilePath),mapWindow::USE_FILE_EXTENSION,TRUE,NULL);  

                                m_map.AddLayer(pImage,true);  

                                mapWindow::ILabelsPtr labels;

                                pImage->get_Labels( &labels );

                                labels->PutFontSize(12);

                                labels->PutFontBold(true);

                                labels->PutFontOutlineVisible(true);

                                labels->PutFontOutlineWidth(4);

                                mapWindow::ILabelCategoryPtr cat;

                                labels->AddCategory("Red");

                                //cat->PutFontColor(RGB(255,0,0));

                                mapWindow::IExtentsPtr ext = pImage->GetExtents();

                                double xmin,xmax,ymin,ymax;

                                ext->get_xMax(&xmax);

                                ext->get_xMin(&xmin);

                                ext->get_yMax(&ymax);

                                ext->get_yMin(&ymin);

                                double  xRange = xmax-xmin;

                                double  yRange = ymax-ymin;

                                CString str;

                                for (int i = 0; i < 100; i++)

                                {

                                         double x=xRange*(rand()%9)*0.1;

                                         double y=yRange* ( rand()%9 )/10.0;

                                         int categoryIndex = i % 3;

                                         str.Format("%d",i);(http://www.amjmh.com/v/BIBRGZ_558768/)

                                         labels->AddLabel( _bstr_t(str ),xmin+x,ymin+y,i*3.6,categoryIndex);

                                }

                     }

             }

             return;

    }

  • 相关阅读:
    alpha版、beta版、rc版的意思
    回车符(CR)与换行符(LF), ' '和' '的区别
    html 图像映射(一个图像多个连接)
    前端工程师需要明白的「像素」
    通过设置Ionic-Cli代理解决ionic serve跨域调试问题
    Bootstrap Table使用方法详解
    写给移动开发者的 React Native 指南
    Mac中搭建 iOS 的 React Native 环境
    Windows版本搭建安装React Native环境配置及相关问题
    javascript获取wx.config内部字段解决微信分享
  • 原文地址:https://www.cnblogs.com/ly570/p/11491438.html
Copyright © 2011-2022 走看看