当前位置:  技术问答>linux和unix

如何让freetype输出正常字体

    来源: 互联网  发布时间:2016-05-28

    本文导语:  我最近想用freetype生成字体使用,现在的问题是我照一个example1.c的例程做生成的字全是加号和星号。不知有没有高手知道怎么才能让freetype显示的字体和我们平时看到的这样,或者是我用的查看字体的接口软件不对(...

我最近想用freetype生成字体使用,现在的问题是我照一个example1.c的例程做生成的字全是加号和星号。不知有没有高手知道怎么才能让freetype显示的字体和我们平时看到的这样,或者是我用的查看字体的接口软件不对(我是直接用gedit打开的)?请指点下
下面是我程序的框架
主要是draw_bitmap和show_image部分,不知道该怎么写,希望能得到些启发,有哪些比较好的资料推荐下也可以,谢谢

#include 
#include FT_FREETYPE_H

int main(int argc, char** argv)
{
//初始化库
FT_Library  library;
FT_Face     face;
FT_Vector pen;
FT_Error error = FT_Init_FreeType(&library);
if(error)
continue;
//加载相应字体文件
error = FT_New_Face(library, "/usr/share/fonts/truetype/simsun.ttc",0,&face);

//设置字体的大小
error = FT_Set_Char_Size(face,   0,   16*64,   300,  300 );   
error = FT_Set_Pixel_Sizes(face,0,16);
//加载字符的字形(glyph)
glyph_index = FT_Get_Char_Index(face, FT_ULong charcode);
error = FT_Load_Glyph(face, glyph_index,FT_LOAD_DEFAULT);
error = FT_Render_Glyph(face->glyph, render_mode);
//字体变换(旋转和缩放)

error = FT_Set_Transform( face,    &matrix,    &pen );  

//把字符显示出来
draw_bitmap( &slot->bitmap,  pen_x + slot->bitmap_left,  pen_y - slot->bitmap_top );
}
//draw_bitmap函数和show_image函数该怎么写呢?

例程是这样写的
void
draw_bitmap( FT_Bitmap*  bitmap,
             FT_Int      x,
             FT_Int      y)
{
  FT_Int  i, j, p, q;
  FT_Int  x_max = x + bitmap->width;
  FT_Int  y_max = y + bitmap->rows;


  for ( i = x, p = 0; i width + p];//这句是什么意思?image[i][j]和buffer数组好像都没赋初值,怎么计算的呢
    }
  }
}


void
show_image( void )
{
  int  i, j;


  for ( i = 0; i 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教gd,FreeType问题...
  • 在安装编译 freetype-1.3.1.tar.gz 时出错,请求各位帮忙!
  • vps服务器linux的centos4 操作系统,装freetype失败。
  • CENTOS 4.x 安装freetype失败.请高手帮我解决问题.谢谢.
  • freetype2移植至arm linux中遇到的问题,请大虾们帮帮忙


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3