查看: 3160|回复: 3

osg中文问题

[复制链接]

该用户从未签到

发表于 2011-8-23 12:04:46 | 显示全部楼层 |阅读模式
本帖最后由 a456759 于 2011-8-23 12:13 编辑

在Osg中显示中文,
  1. textx->setFont("C:/WINDOWS/Fonts/simhei.ttf");
  2. textx->setText(L"x 轴 sss");
复制代码
,显示结果时中文字“轴”是空白的,但是提示

warning内容

warning内容
。这个是什么问题导致的呀?
另,在osg自带的osgtext例子中我尝试
  1. osgText::Text* text3 = new osgText::Text;
  2. text3->setFont("C:/WINDOWS/Fonts/simhei.ttf");
  3. text3->setCharacterSize(characterSize);
  4. text3->setPosition(pos);
  5. text3->setAxisAlignment(osgText::Text::XZ_PLANE);
  6. text3->setText(L"X 轴测试");
  7. geode->addDrawable(text3);
复制代码
,没有出错,显示很正常,

例子中的

例子中的
。我折腾了好久也没弄明白我到底错在哪里?能帮忙解释下么?非常感谢。

该用户从未签到

发表于 2011-8-23 12:47:55 | 显示全部楼层
还有这种情况?看来你应该好好调调你的代码了
调用前应该没有自己改变系统变量吧,怎么会提示字体文件找不到

该用户从未签到

 楼主| 发表于 2011-8-23 13:42:35 | 显示全部楼层
本帖最后由 a456759 于 2011-8-23 14:00 编辑

  1. #include <osgDB/ReadFile>
  2. #include <osgDB/WriteFile>
  3. #include <osgDB/Registry>

  4. #include <osgViewer/Viewer>
  5. #include <osgViewer/ViewerEventHandlers>

  6. #include <osg/Geode>
  7. #include <osg/Camera>
  8. #include <osg/ShapeDrawable>
  9. #include <osg/Sequence>
  10. #include <osg/PolygonMode>
  11. #include <osg/io_utils>

  12. #include <osgText/Font>
  13. #include <osgText/Text>

  14. int main()
  15. {
  16.         osg::Group* root=new osg::Group();
  17.         osg::Geode* textgeode=new osg::Geode();
  18.         osgText::Text* test=new osgText::Text();
  19.         test->setFont("simhei.ttf");
  20.         test->setText(L"测试是否成功?");
  21.         test->setCharacterSize(32);
  22.         test->setAxisAlignment(osgText::Text::XZ_PLANE);
  23.         test->setAlignment(osgText::Text::CENTER_CENTER);
  24.         test->setPosition(osg::Vec3(0.0,0.0,0.0));
  25.         test->setColor(osg::Vec4(1.0,0.0,0.0,1.0));
  26.         textgeode->addDrawable(test);
  27.         root->addChild(textgeode);

  28.         osgViewer::Viewer view;
  29.         view.setSceneData(root);
  30.         view.run();
  31. }
复制代码
回复 2# gis_wudi

   现在好了,虽然不知道为什么。。但是当我把那个exe文件拷贝到别的电脑时,再次发现font文件找不到了,新电脑上在window的fonts目录下有simhei.ttf 文件呀。我把simhei.ttf和exe放在一起也不行,这是什么原因啊?exe不会自动从本目录搜索嘛? 5W9.jpg

该用户从未签到

 楼主| 发表于 2011-8-23 17:53:54 | 显示全部楼层
回复 3# a456759

osgdb-freetype的dll文件更新过,解决问题了。谢谢二楼的回复。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表