Vtk支持中文显示解决方法
1. 修改内容1:
A. 文件 VTK\Utilities\ftgl\src\FTFont.cpp
B. 被修改的函数:Open( const unsigned char *pBufferBytes, size_t bufferSizeInBytes, bool p )
C. 修改行51
D. 原始内容:if( face.Open( pBufferBytes, bufferSizeInBytes ))
E. 修改后:if( face.Open( "c:\\Windows\\Fonts\\msyh.ttf" )) //微软雅黑,如果在系统里面没有这个字体,需要另外安装这个字体库
//2014.7.28 vtk6.10修改为如下内容
std::string path = "c:\\Windows\\Fonts\\msyh.ttf";
if (!face.Open(path.c_str()))
{
path = ".\\msyh.ttf";
}
if( face.Open(path.c_str()))
F. 原因:font列表里面没有中文字体,直接指定一个中文字体
2. 修改内容2:
A. 文件 VTK\Utilities\ftgl\src\FTGLPixmapFont.cpp
B. 修改的行数:render(const char* string, const FTGLRenderContext *context)
C. 修改行43
D. 原始内容: this->RenderOpenGL(string, context);
E. 修改后:
WCHAR pwText[256] = {0} ;
DWORD dwNum = MultiByteToWideChar (CP_ACP, 0, string, -1, NULL, 0);
MultiByteToWideChar (CP_ACP, 0, string, -1, pwText, dwNum);
this->RenderOpenGL(pwText, context);
F. 原因:因为外面传进来的参数都是char*,强制转换为WCHAR*;
3. 修改内容3:
G. A文件 VTK\Utilities\ftgl\src\FTFont.cpp
H. 被修改的函数:FTFont::Close()
I. 修改行73
J. 插入内容 face.Close();
K. 原因:Create一个字符列表后,需要显示的Close一下
VTK 6.2显示中文
5星 · 超过95%的资源 需积分: 33 155 浏览量
2015-08-29
12:09:28
上传
评论
收藏 3KB RAR 举报
xchzxchz
- 粉丝: 6
- 资源: 3
最新资源
- 成都市地图含高新区(高新南区,高新西区),天府新区,东部新区虚拟行政区划
- XILINXFPGA源码XilinxEDK设计试验
- XILINXFPGA源码XilinxEDKMicroBlaze内置USB固件程序
- 基于 django 的视频点播后台管理系统源代码+数据库
- 基于Java的网上医院预约挂号系统的设计与实现(部署视频)-kaic.mp4
- 新建项目opengrok
- XILINXFPGA源码XilinxDDR3最新VHDL代码(通过调试)
- XILINXFPGA源码XilinxDDR2存储器接口调试代码
- 班级事务管理系统设计与实现(部署视频)-kaic.mp4
- excel带下拉框展示(动态展示)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈