文件浏览器及数码相框 -2.3.2-freetype_arm-1
交叉编译:
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的更多相关文章
- 文件浏览器及数码相框 -2.3.1freetype_pc
例子 #include <stdio.h> #include <string.h> #include <math.h> #include <ft2build. ...
- 文件浏览器及数码相框 -2.3.2-freetype_arm-2
显示多行文字 两行文字左边对齐 简单使用两个循环显示两行字体 根据上一行字体的宽度来进行下一行左边的计算 #include <sys/mman.h> #include <sys/ty ...
- 下载apk文件浏览器会直接打开并显示乱码的问题
今天同事反映他的apk文件在自己的老项目中下载有问题:下载apk文件浏览器会直接打开并显示乱码,在别的项目中就没有问题. 后分析response的content-type发现,老项目的类型是text/ ...
- Win 10 文件浏览器无法打开
今天遇到个很奇怪的问题,文件浏览器File Explorer无法正常显示,点击打开后任务栏上已经显示打开了,但是屏幕上却看不到任何窗口,开始以为机子中了恶意的木马,然后就疯狂的查毒,然而并没有解决问题 ...
- Mac下DIY文件浏览器
2015-07-14 15:07:53 Mac下的finder不能浏览Linux文件目录, 一些优秀的资源管理器是收费的..... 于是想到了既然Mac的本质是类Unix, 而在windows下查看L ...
- 比nerdtree更好的文件浏览器:vimfiler
通过:VimFilerExplorer来打开一个文件浏览器 h:收起 t:展开 -:close 回车:进入或展开 空格:收起
- 【转】显示Ubuntu文件浏览器的地址栏--不错
原文网址:http://www.blogbus.com/anythingok-logs/144447448.html Ubuntu默认使用nautilus作为其可视化的文件浏览器,其默认值不显示地址栏 ...
- 【Java】 实现一个简单文件浏览器(1)
学习Java的Swing的时候写的一个超简单文件浏览器 效果如图: 项目结构: 这里面主要用了两个控件,JTree和JTable 下面先说下左侧的文件树如何实现: 首先是FileTree类,继承于JT ...
- SharePoint 2013 解惑 无法打开文件浏览器
你有时候会看到这东西谈出来,当你想像管理文件一样,管理SharePoint上资源的时候 意思是说,不能打开文件浏览器,请加入你的站点到信任站点,这个有两个问题,一个是IE设置,一个是WebClient ...
随机推荐
- Mysql 允许null 与 default值
分为下面4种情况: 1.允许null, 指定default值. 2.允许null, 不指定default,这个时候可认为default值就是null 3.不允许null,指定default值,不能指定 ...
- Android生命周期和Service生命周期
android生命周期 运行:oncreate → onstart → onresume暂停:onresume → onpause:再次运行:onresume停止:onpause → onstop → ...
- Linux下的字符集问题
怎么设置Linux系统中文语言,这是很多小伙伴在开始使用Linux的时候,都会遇到一个问题,就是终端输入命令回显的时候中文显示乱码.出现这个情况一般是由于没有安装中文语言包,或者设置的默认语言有问题导 ...
- iOS开发之 xcode6 APP 打包提交审核详细步骤
一. 在xcode6.1和ios10.10.1环境下实现app发布 http://blog.csdn.net/mad1989/article/details/8167529 http://jingya ...
- BigDecimal类型比较大小
这个类是java里精确计算的类 1 比较对象是否相等 一般的对象用equals,但是BigDecimal比较特殊,举个例子: BigDecimal a=BigDecimal.value ...
- 推荐两篇Unity与Android交互的文章
http://www.xuanyusong.com/archives/676 里面18,19介绍
- MFC Socket
目录 第1章同步TCP通讯 1 1.1 同步通讯与异步通讯 1 1.2 同步通讯类 1 1.3 同步TCP通讯客户端 4 1.3.1 界面 4 1.3.2 界面类声明 ...
- [BI基础] 一些不得不了解的概念
0.Hadoop hadoop主要是用来对海量数据进行存储和计算的. 它本身是一个分布式系统,核心由分布式文件系统hdfs,和分布式计算框架mapreduce组成,在存储和计算时能够发挥出集群中每台机 ...
- OC self和super
在OC中 1 self是一个指针,在每一个方法中都有一个self指针 2 self可以出现在所有的方法中(对象方法和类方法),不能在函数中 3 self指向调用者.(谁调用它就指向谁) 4 可以使用s ...
- javamail 学习及实例
JavaMail,是Sun发布的用来处理email的API,提供给开发者处理电子邮件相关的编程接口.通过使用它可以方便地执行一些常用的邮件传输. 可以看下<java邮件开发详解>第四章和第 ...