osgearth中labelcontrol设置中文

1.将字符串转换为中文(gb2312->unicode->Utf8)

//记得加上头文件
#include <Windows.h>

//转换为中文字符进行显示   
void gb2312ToUnicode(const string& src, wstring& result)
{
	int n = MultiByteToWideChar(CP_ACP, 0, src.c_str(), -1, NULL, 0);
	result.resize(n);
	::MultiByteToWideChar(CP_ACP, 0, src.c_str(), -1, (LPWSTR)result.c_str(), result.length());
}

void unicodeToUTF8(const wstring &src, string& result)
{
	int n = WideCharToMultiByte(CP_UTF8, 0, src.c_str(), -1, 0, 0, 0, 0);
	result.resize(n);
	::WideCharToMultiByte(CP_UTF8, 0, src.c_str(), -1, (char*)result.c_str(), result.length(), 0, 0);
}

void gb2312ToUtf8(const string& src, string& result)
{
	wstring strWideChar;
	gb2312ToUnicode(src, strWideChar);
	unicodeToUTF8(strWideChar, result);
}

2. 设置字体和本地编码

    osgEarth::Util::Controls::LabelControl *cameraShow = new osgEarth::Util::Controls::LabelControl("hh", Color::White);
    cameraShow->setBackColor(osgEarth::Util::Controls::Color(osgEarth::Util::Controls::Color::Green, 0.5));
	const string allStr = str0 + str1 + str2 + str3 + str4 + str5 + str6 + str7 + str8 + str9;//这里设置你自己想要的字符串
	string allStrUtf8;
	gb2312ToUtf8(allStr, allStrUtf8);//字体转换

    //设置字体和本地编码
	osgText::Font* fonts = osgText::readFontFile("666.ttf");//这里设置你自己想要的字体
	cameraShow->setEncoding(osgText::String::ENCODING_UTF8);//设置本地编码
	cameraShow->setText(allStrUtf8);
	cameraShow->setFont(fonts);

效果图

在这里插入图片描述

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: osgEarth是一个功能强大的地理空间渲染引擎,为使用者提供了一种基于场景图形式的地理空间信息可视化方案。它融合了OpenSceneGraph和GDAL/OGR等开源GIS相关工具,在地形数据建模、纹理贴图、矢量数据展示、DEM数据处理等方面提供了可靠的支持。 osgEarth文帮助手册为使用者提供了非常全面的使用教程和技术指南。在这个帮助手册,我们可以学习到相关场景、节点、通道、数据、样式、地形等方面的详细介绍和用法。此外,还提供了许多常用场景的实现案例和代码示例,可以帮助使用者快速地上手,并进行基于osgEarth的地理空间信息可视化开发。 通过查阅osgEarth文帮助手册,使用者可以快速学习到相关地理空间信息可视化的基础概念和原理,并掌握如何使用osgEarth来构建一个完整的地理空间信息可视化系统。同时,在操作遇到问题时,osgEarth文帮助手册的完备性也能很好地解决大多数用户的疑问。 总之,osgEarth文帮助手册具有非常全面、详细、实用的特点,是使用者学习和使用osgEarth必不可少的参考资料之一。 ### 回答2: osgEarth是一个开源的地球渲染引擎,它能够将地球数据与OSG场景图结合在一起进行渲染并提供丰富的地球渲染功能。osgEarth文帮助手册则是为了方便国内用户理解和使用osgEarth而制作的一本手册,它详细介绍了osgEarth的核心概念、常用功能和API接口。在手册,用户可以查看有关图层、地形、水、天气、遮蔽等等方面的知识,并通过具体的使用示例来深入理解这些知识。 手册的内容非常丰富,从osgEarth的历史与版本、安装与配置,到地球渲染管道、控制器、符号化等高级功能,都一一被介绍到。而且,手册的结构也非常清晰,每个章节都按照“概述-应用场景-代码示例”这样的布局呈现,使用者可以轻松地找到自己感兴趣的主题,并快速地掌握相关知识和技巧。 总之,osgEarth文帮助手册是一个非常实用的教程,让用户能够更好地了解和应用osgEarth,从而创造出更加美丽和真实的地球场景。如果你是一位地球渲染或GIS开发者,那么这份手册一定会成为你宝贵的学习资料,帮助你实现更多的地球应用想象! ### 回答3: osgearth是一个开源的地球渲染引擎,可以用于制作各种类型的地图应用程序。osgearth文帮助手册能够帮助用户了解到osgearth的基本概念、组件、API、样例和参数设置等方面的内容,让用户尽快熟悉osgearth的使用。 手册内容包括osgearth的安装、配置、创建地图、制作标注、处理视图、加载影像、模型、地形、点云、矢量等数据。手册还提供了丰富的示例代码,方便用户快速完成基础应用和定制应用开发。同时,手册还介绍了osgearth的优化技巧,帮助用户提高应用程序的运行效率和交互体验。 对于初学者而言,osgearth文帮助手册的详细讲解和示例代码可以让用户通过实践操作,快速明白osgearth的概念和技术原理。同时,手册还提供了丰富的参考文献,方便用户在使用过程查询相关资料。 对于已经掌握osgearth基本操作和API的用户,手册提供了更深入的内容,例如osgearth的内部实现机制、高级数据管理和渲染技术等方面的讲解。这些内容能够帮助用户深入了解osgearth的使用和扩展,在实际应用更加灵活和高效地使用osgearth。 综上所述,osgearth文帮助手册是一份非常实用的资料,适合于所有使用osgearth进行地图应用开发的用户。无论您是初学者还是有经验的开发者,手册都能够提供帮助,让您更加快速、准确地掌握osgearth的技术和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值