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;

}

实现图像添加label的更多相关文章

  1. 利用OpenCV给图像添加中文标注

    利用OpenCV给图像添加中文标注 : 参考:http://blog.sina.com.cn/s/blog_6bbd2dd101012dbh.html  和https://blog.csdn.net/ ...

  2. 图像添加到ABBYY 文档有什么方法

    ABBYY FineReader 12作为一款功能全面的OCR图文识别软件,我们自是可以在其中将图像添加到FineReader文档中去,且添加在文档尾部,否则将会创建一个新的FineReader文档. ...

  3. nagios为监控图像添加图片

    1. 背景介绍 在监控web页面上显示主机都为问号,如下图所示: 本文的主要目的就是将监控的图片添加进去,让监控图像变得美观. 2. 图片的下载地址 图片的下载地址如下: https://exchan ...

  4. 图像添加logo水印函数

    <?php //图像添加水印函数 /** *为一张图片添加上一个logo水印(以保存新图片的方式实现) *@param string $picname 被缩放的处理图片源 *@param int ...

  5. python opencv3 —— 常用工具、辅助函数、绘图函数(图像添加文本、矩形等几何形状)

    1. cv2.hconcat().cv2.vconcat() 将从摄像头捕获的多个图像帧,横向(cv2.hconcat)或纵向(cv2.vconcat)拼接到一起,使得可以在一个 window 中进行 ...

  6. Winform添加Label

    Info from : http://www.csharpwin.com/csharpspace/6253r7952.shtml 本例子主要是介绍如何在 C#开发WinForm中加入一个组件,如果你想 ...

  7. 给图像添加logo

    #include <opencv2\opencv.hpp>#include"ProcessPixels.h"using namespace cv;using names ...

  8. OpenCV特征点检测匹配图像-----添加包围盒

    最终效果: 其实这个小功能非常有用,甚至加上只有给人感觉好像人脸检测,目标检测直接成了demo了,主要代码如下: // localize the object std::vector<Point ...

  9. opencv之为图像添加边界

    我们经常会有对图像边缘做扩展的需求.比如 希望卷积后得到的矩阵大小不变 希望改变图像大小,但是不改变宽高比 opencv实现 opencv中使用copyMakeBorder()来完成这一功能 api ...

随机推荐

  1. BM求线性递推模板(杜教版)

    BM求线性递推模板(杜教版) BM求线性递推是最近了解到的一个黑科技 如果一个数列.其能够通过线性递推而来 例如使用矩阵快速幂优化的 DP 大概都可以丢进去 则使用 BM 即可得到任意 N 项的数列元 ...

  2. 面向对象-this关键字的概述和应用

    /* 我们曾经说过:定义名字要做到见名知意. this:是当前类的对象引用.简单的记,它就代表当前类的一个对象. 注意:谁调用这个方法,在该方法内部的this就代表谁. this的场景: 解决局部变量 ...

  3. 100、神器的 routing mesh (Swarm07)

    参考https://www.cnblogs.com/CloudMan6/p/7930321.html   上一节我们提到了 swarm 的 routing mesh .当外部访问任意节点的8080端口 ...

  4. Express multer 文件上传

    npm multer 文件上传 Express app 范本就不写了,仅记录一下上传部分的代码. const fs = require('fs'); const express = require(' ...

  5. ubuntu修改apt源

    1.修改之前首先做好备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 2.编辑源列表文件 sudo vim /etc/apt/sou ...

  6. openstack mitaka开启三层网络vxlan

    在这之前,先把之前基于flat模式创建的虚机,全部删除 控制节点: 配置 修改/etc/neutron/neutron.conf的[DEFAULT]区域 将 core_plugin = ml2 ser ...

  7. Django 数据库模块 单独使用

    pip install django pip install psycopg2 pip install mysqlclient Entity.py from django.db import mode ...

  8. NB-IOT双工模式

    半双工(Half Duplex)数据传输指数据可以在一个信号载体的两个方向上传输,但是不能同时传输.例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据, ...

  9. Java语言基础(4)

    1 关系运算符:>,>=,<,<=,==,!= 案例:Demo1 public class Demo1 { //偶数:能被2整除的整数 //2,4,6,8,10... //整除 ...

  10. BZOJ1912 最长链树形DP

    每次求出最长链更新答案后要将最长链上的边权改为-1 写的贼长 还可以优化... /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) mem ...