文件浏览器及数码相框 -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 ...
随机推荐
- 原生js实现的效果
原生js实现tooltip提示框的效果 在js的世界里面,每一个小的特效都那么微不足道,却又那么的令人向往与好奇.前端工程师的任务特别高大上,因为他们的一个小小的设计就会激发别人的求知欲.比如说我 ...
- Fragments
http://developer.android.com/guide/components/fragments.html#Design Content Design Philosophy Creati ...
- Hibernate中的Configuration类
Configuration类用来管理我们的配置文件的信息的,通过它,我们可以通过创建一个configuration实例来管理相应的配置文档,但是通常我们只创建一个configuration实例. 下面 ...
- Fedora 防火墙关闭与开启
重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptable ...
- hdu_2089 不要62
数位动态规划 数位动态规划是求解一个大区间[L, R]中间满足条件Q的所有数字的个数(或者和,或其他)的一种方法.它通过分析每一位上的数字,一般用 dp[len][digit][...] 来表 ...
- Hbase之更新单条数据
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; impo ...
- 网站后台登录aspcms 提示错误号:-2147467259,错误描述:操作必须使用一个可更新的查询。sql=update AspCms_Content set TimeStatus=0 where TimeStatus=1 and Timeing <= 解决方法。
把data文件夹的权限改下,改成user组可以修改.写入,就好了. 还有一个问题,就是进入后台的时候提示没有访问权限的问题,解决方法看下图
- 【bzoj1027】合金
[bzoj1027]合金 分析 数形结合+计算几何+Floyd最小环. http://blog.csdn.net/popoqqq/article/details/40539273 虽然这样占大家的很不 ...
- 《Java程序设计》第四周学习总结
20145224-陈颢文 <Java程序设计>第四周学习总结 教材学习内容总结 第六章 继承与多态 ·继承就是面向对象中,子类继承父类,避免重复的行为定义.重复再程序设计上是非常不好的信号 ...
- HDU----(2157)How many ways??(快速矩阵幂)
How many ways?? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...