如何用FreeType写字
来源:互联网 发布:免费外呼软件 编辑:程序博客网 时间:2024/05/16 23:40
FT_Library library = NULL;
FT_Face face = NULL;
//初始化Freetype库,载入字库
static FT_Error osd_load_ft_font(char *filename, int height)
{
FT_Error error;
error = FT_Init_FreeType( &library ); /* initialize library */
/* error handling omitted */
if(error)
printf("osd_load_ft_font error: FT_Init_FreeType/n");
error = FT_New_Face( library, filename, 0, &face ); /* create face object */
/* error handling omitted */
if(error)
printf("osd_load_ft_font error: FT_New_Face/n");
/* set character size */
error = FT_Set_Char_Size( face, height * 64, 0, 100, 100 );
if(error)
printf("osd_load_ft_font error: FT_Set_Char_Size/n");
return error;
}
//卸载字库以及freetype库
static void osd_unload_ft_font()
{
if (library == NULL)
return;
FT_Done_Face ( face );
FT_Done_FreeType( library );
}
//显示字
glyph_index = FT_Get_Char_Index(face, unicode[n]);
FT_Load_Glyph(face, glyph_index, FT_LOAD_DEFAULT);
FT_Render_Glyph(face->glyph, ft_render_mode_normal);
for(p=0;p<slot->bitmap.width;p++)
for(q=0;q<slot->bitmap.rows;q++)
{
gray = slot->bitmap.buffer[q * slot->bitmap.width + p];
{
char r, g, b;
r = ((前景色 & 0x00ff0000) >> 16) * gray / 255 + ((背景色 & 0x00ff0000) >> 16) * (255 - gray) / 255;
g = ((前景色 & 0x0000ff00) >> 8) * gray / 255 + ((背景色 & 0x0000ff00) >> 8) * (255 - gray) / 255;
b = ((前景色 & 0x000000ff) ) * gray / 255 + ((背景色 & 0x000000ff) ) * (255 - gray) / 255;
}
}
- 如何用FreeType写字
- 如何用ps 在图片上面写字
- 如何用 FreeType 装载一个字形图像
- 如何用2.0发信?
- 想知道socket如何用
- 如何用英语杀价?
- 如何用C画图
- 问如何用文件
- 如何用JSP编程
- 如何用PS切图
- ssl如何用
- 如何用计算机发财
- 如何用JAVA 对象?
- 如何用JDO查询
- 如何用tadodataset.append
- 如何用VS Debug
- 如何用SplitViewController控件
- 如何用php分页?
- 局域网用户的限制技术和反限制技巧
- 泛型算法系列31:nth_element()
- IOCP+Socket C#研究资料
- 常用字正则表达式
- SQL 加go 和不加go的区别
- 如何用FreeType写字
- 使用avilib进行avi文件的读写
- 一些公用函数的集合
- 常用CSS属性说明
- Discuz模板语句分析及知识技巧
- 通过文件修改注册表的两种方式
- 分页代码
- Flash实现透明度渐变遮罩的方法
- 说到“面对面” 商企通更懂用户