在View窗口中添加显示FTGL字体
来源:互联网 发布:复制门禁卡软件 编辑:程序博客网 时间:2024/06/06 03:56
以MFC界面为例进行讲解:MFC工程名为 AddFont
在配置好Opengl环境的MFC工程中,在AddFontView.h文件中添加#include <font/FTGLPixmapFont.h>文件,
还有相应的lib添加
.h文件声明FTGLPixmapFont* freeTypeFont;
CAddFontView::CAddFontView()
{
// TODO: 在此处添加构造代码
loadproperty = true;
loadvvo = true;
char filePath[256]={0};
sprintf(filePath, "C:\\WINDOWS\\Fonts\\simhei.ttf");
freeTypeFont = new FTGLPixmapFont(filePath);
if(freeTypeFont == NULL)
{
char buf[] = "Font C:\\WINDOWS\\Fonts\\simhei.ttf can not be fond.\r\n";
printf("%s", buf);
exit(0);
}
else
{
freeTypeFont->FaceSize(20);
freeTypeFont->CharMap(ft_encoding_unicode);
}
}
CAddFontView::~CAddFontView()
{
if (freeTypeFont != NULL)
{
delete freeTypeFont;
freeTypeFont = NULL;
}
}
void CAddFontView::DrawScene()
{
wchar_t str0[250]=L"海平面高度I/K:";
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glWindowPos2iARB(50, 80);
glEnable(GL_BLEND);
glEnable(GL_ALPHA_TEST);
glAlphaFunc(GL_GREATER ,0.5f);
freeTypeFont->FaceSize(20);
freeTypeFont->Render(str0);
string sealevel_h = Convert_float2str(updown_value);
const char *sealevelheight=sealevel_h.c_str();
glWindowPos2iARB(220, 80);
freeTypeFont->Render(sealevelheight);
wchar_t str2[250]=L"海浪高度O/L:";
glWindowPos2iARB(50, 50);
freeTypeFont->Render(str2);
string wave_h = Convert_float2str(waveheight_value);
const char *waveheight=wave_h.c_str();
glWindowPos2iARB(220, 50);
freeTypeFont->Render(waveheight);
wchar_t str4[250]=L"相机操作:";
glWindowPos2iARB(50, 200);
freeTypeFont->FaceSize(15);
freeTypeFont->Render(str4);
wchar_t str5[250]=L"WSAD/上下左右移动";
glWindowPos2iARB(50, 180);
freeTypeFont->Render(str5);
wchar_t str6[250]=L"Insert Delete/左右旋转";
glWindowPos2iARB(50, 160);
freeTypeFont->Render(str6);
wchar_t str7[250]=L"H/复位";
glWindowPos2iARB(50, 140);
freeTypeFont->Render(str7);
glDisable(GL_ALPHA_TEST);
glDisable(GL_BLEND);
}
- 在View窗口中添加显示FTGL字体
- ext 在Window窗口中添加Panel添加htmleditor无法显示下拉字体选择
- FTGL在OpenGL下显示中文
- 在MFC的View窗口中显示IplImage之一
- 在MFC的View窗口中显示IplImage之二
- 在mfc对话框中添加一个显示网页的窗口
- 在Xcode中编译FreeType和FTGL库
- 在linux中添加字体
- 在linux中添加字体
- 在linux中添加字体
- 在linux中添加字体
- 在unity3D中添加字体
- 在linux中添加字体
- [addChildViewController]View Controller中可以添加多个sub view,在需要的时候显示出来;
- Flex中将子窗口中添加的数据即时显示在父窗口中的方法
- 在panel动态添加显示窗口
- android View和ViewGroup如何在应用程序界面(窗口)中显示
- 在窗口中显示字符串
- Oracle 11G R2 在windows server 2008 64位安装时提示:无法在windows "开始"菜单或桌面上创建项
- ZOJ-1713
- 图说为什么代码能控制硬件
- Sharpmap自定义工具,工具管理类
- oracle undo 表空间 ——估算UNDO表空间的大小
- 在View窗口中添加显示FTGL字体
- 黑马程序员学习笔记 JAVA高级视频_其他对象java.lang包中的类System与Runtime
- linux 信号的捕捉和发送函数的简单使用:sigaction()和sigqueue()
- UIImageView的图片居中问题
- linux下DNW用法
- 在 linux 下使用 CMake 构建应用程序
- 在C#中使用SerialPort类实现串口通信
- 软交换freeswitch系统概要和源代码分析初步
- 【iOS7的一些总结】4、Xcode中的代码版本控制