交叉编译:
tar xjf freetype-2.4.10.tar.bz2
./configure --host=arm-linux
make
make DESTDIR=$PWD/tmp install

find -name stdio.h

平时使用#include<stdio.h>路径    ./arm-linux/include/stdio.h

编译出来的头文件应该放入:
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include

编译出来的库文件应该放入:
/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

把tmp/usr/local/lib/*  复制到 /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
sudo cp * /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib -d -rf
cp *so* /work/nfs_root/fs_mini_mdev_new/lib –d

cd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib

把tmp/usr/local/include/*  复制到 /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include
cp *  /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/include  -rf
cp *so* /work/nfs_root/fs_mini_mdev/lib –d

错误

/arm-linux/include/ft2build.h:56:38: freetype/config/ftheader.h

freetype/config/ftheader.h
freetype2/freetype/config/ftheader.h

将freetype2/freetype移动到当前目录

mv freetype2/freetype .

编译

arm-linux-gcc -finput-charset=GBK -fexec-charset=GBK -o example1 example1.c  -lfreetype  -lm

在开发板上运行

用函数转化文件编码方式

iconv -f GBK -t UTF-8 show_font.c

查看错误

编译

arm-linux-gcc -finput-charset=GBK -fexec-charset=GBK -o show_font show_font.c  -lfreetype -lm

wchar_t * chinese_str = L"陈";

      FT_Library    library;
FT_Face face;
FT_Vector pen; /* untransformed origin */
FT_GlyphSlot slot; int error; if(argc != )
{
printf("Usage : %s <font_file>\n",argv[]);
return -;
}

freetype初始化

/* ÏÔʾʸÁ¿ÎÄ×Ö */

  error = FT_Init_FreeType( &library );              /* initialize library */
/* error handling omitted */ error = FT_New_Face( library, argv[], , &face ); /* create face object */
/* error handling omitted */ slot = face->glyph; FT_Set_Pixel_Sizes(face, , ); /*È·¶¨×ø±ê
*lcd_x = var.xres / 2 + 32 + 32
*lcd_y = var.yres / 2
*µÑ¿¨¶û×ø±ê
*x = lcd_x = var.xres / 2 + 32 + 32
*y = var.yres - var.yres / 2
*/ pen.x = ( var.xres / + + ) * ;
pen.y = ( var.yres - var.yres / - ) * ; /* set transformation */
FT_Set_Transform( face, , &pen ); /* load glyph image into the slot (erase previous one) */ error = FT_Load_Char( face, chinese_str[], FT_LOAD_RENDER );
if ( error )
{
printf("FT_Load_Char error\n");
return -;
}
/* now, draw to our target surface (convert position) */
draw_bitmap( &slot->bitmap,
slot->bitmap_left,
var.yres - slot->bitmap_top );

描画图

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; printf("x = %d, y = %d\n", x, y); for ( i = x, p = ; i < x_max; i++, p++ )
{
for ( j = y, q = ; j < y_max; j++, q++ )
{
if ( i < || j < ||
i >= var.xres || j >= var.yres )
continue; // image[j][i] |= bitmap->buffer[q * bitmap->width + p]; lcd_put_pixel(i, j, bitmap->buffer[q * bitmap->width + p]);
}
}
}

旋转angle角度

第三个参数为角度

添加头文件   #include <stdlib.h>

angle = ( 1.0 * strtoul(argv[], NULL, ) /  ) * 3.14159 * ;      /* use 25 degrees     */

  /* set up matrix */
matrix.xx = (FT_Fixed)( cos( angle ) * 0x10000L );
matrix.xy = (FT_Fixed)(-sin( angle ) * 0x10000L );
matrix.yx = (FT_Fixed)( sin( angle ) * 0x10000L );
matrix.yy = (FT_Fixed)( cos( angle ) * 0x10000L );

文件浏览器及数码相框 -2.3.2-freetype_arm-1的更多相关文章

  1. 文件浏览器及数码相框 -2.3.1freetype_pc

    例子 #include <stdio.h> #include <string.h> #include <math.h> #include <ft2build. ...

  2. 文件浏览器及数码相框 -2.3.2-freetype_arm-2

    显示多行文字 两行文字左边对齐 简单使用两个循环显示两行字体 根据上一行字体的宽度来进行下一行左边的计算 #include <sys/mman.h> #include <sys/ty ...

  3. 下载apk文件浏览器会直接打开并显示乱码的问题

    今天同事反映他的apk文件在自己的老项目中下载有问题:下载apk文件浏览器会直接打开并显示乱码,在别的项目中就没有问题. 后分析response的content-type发现,老项目的类型是text/ ...

  4. Win 10 文件浏览器无法打开

    今天遇到个很奇怪的问题,文件浏览器File Explorer无法正常显示,点击打开后任务栏上已经显示打开了,但是屏幕上却看不到任何窗口,开始以为机子中了恶意的木马,然后就疯狂的查毒,然而并没有解决问题 ...

  5. Mac下DIY文件浏览器

    2015-07-14 15:07:53 Mac下的finder不能浏览Linux文件目录, 一些优秀的资源管理器是收费的..... 于是想到了既然Mac的本质是类Unix, 而在windows下查看L ...

  6. 比nerdtree更好的文件浏览器:vimfiler

    通过:VimFilerExplorer来打开一个文件浏览器 h:收起 t:展开 -:close 回车:进入或展开 空格:收起

  7. 【转】显示Ubuntu文件浏览器的地址栏--不错

    原文网址:http://www.blogbus.com/anythingok-logs/144447448.html Ubuntu默认使用nautilus作为其可视化的文件浏览器,其默认值不显示地址栏 ...

  8. 【Java】 实现一个简单文件浏览器(1)

    学习Java的Swing的时候写的一个超简单文件浏览器 效果如图: 项目结构: 这里面主要用了两个控件,JTree和JTable 下面先说下左侧的文件树如何实现: 首先是FileTree类,继承于JT ...

  9. SharePoint 2013 解惑 无法打开文件浏览器

    你有时候会看到这东西谈出来,当你想像管理文件一样,管理SharePoint上资源的时候 意思是说,不能打开文件浏览器,请加入你的站点到信任站点,这个有两个问题,一个是IE设置,一个是WebClient ...

随机推荐

  1. Mysql 允许null 与 default值

    分为下面4种情况: 1.允许null, 指定default值. 2.允许null, 不指定default,这个时候可认为default值就是null 3.不允许null,指定default值,不能指定 ...

  2. Android生命周期和Service生命周期

    android生命周期 运行:oncreate → onstart → onresume暂停:onresume → onpause:再次运行:onresume停止:onpause → onstop → ...

  3. Linux下的字符集问题

    怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导 ...

  4. iOS开发之 xcode6 APP 打包提交审核详细步骤

    一. 在xcode6.1和ios10.10.1环境下实现app发布 http://blog.csdn.net/mad1989/article/details/8167529 http://jingya ...

  5. BigDecimal类型比较大小

    这个类是java里精确计算的类 1 比较对象是否相等     一般的对象用equals,但是BigDecimal比较特殊,举个例子:     BigDecimal a=BigDecimal.value ...

  6. 推荐两篇Unity与Android交互的文章

    http://www.xuanyusong.com/archives/676 里面18,19介绍

  7. MFC Socket

    目录 第1章同步TCP通讯    1 1.1 同步通讯与异步通讯    1 1.2 同步通讯类    1 1.3 同步TCP通讯客户端    4 1.3.1 界面    4 1.3.2 界面类声明   ...

  8. [BI基础] 一些不得不了解的概念

    0.Hadoop hadoop主要是用来对海量数据进行存储和计算的. 它本身是一个分布式系统,核心由分布式文件系统hdfs,和分布式计算框架mapreduce组成,在存储和计算时能够发挥出集群中每台机 ...

  9. OC self和super

    在OC中 1 self是一个指针,在每一个方法中都有一个self指针 2 self可以出现在所有的方法中(对象方法和类方法),不能在函数中 3 self指向调用者.(谁调用它就指向谁) 4 可以使用s ...

  10. javamail 学习及实例

    JavaMail,是Sun发布的用来处理email的API,提供给开发者处理电子邮件相关的编程接口.通过使用它可以方便地执行一些常用的邮件传输. 可以看下<java邮件开发详解>第四章和第 ...