freetype显示矢量字体 -- 在LCD上测试

配置交叉编译工具连
我的环境变量:
/home/usr/local/arm/4.3.2/bin

解压freetype-2.4.10.tar.bz2

进入配置交叉编译工具:
./configure --host=arm-linux
编译  make

暂时安装到当前目录下tmp目录
make DESTDIR=$PWD/tmp install

拷贝库文件到交叉编译器里:
把tmp/usr/local/lib/*  复制到 /home/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib
sudo cp tmp/usr/local/lib/* /home/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib -d -rf

拷贝动态链接库到根文件系统:
cp tmp/usr/local/lib/*so* /home/chris/nfs_work/lib -d

拷贝头文件到交叉编译器里:
把tmp/usr/local/include/*  复制到 /home/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
sudo cp tmp/usr/local/include/* /home/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include -rf
cd /home/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include
sudo mv freetype2/freetype .

编译应用程序:example.c
arm-linux-gcc -finput-charset=GBK -fexec-charset=UTF-8 -o example1 example1.c -lfreetype -lm
arm-linux-gcc编译参数设置                                                    库文件    使用数学函数

在开发板上执行:
把example1  simsun.ttc拷贝到根文件系统上执行./example1 ./simsun.ttc

在开发板上显示矢量字体:
arm-linux-gcc -finput-charset=GBK -fexec-charset=UTF-8 -o show_font show_font.c -lfreetype -lm

出现格式错误,对show_font.c进行格式转换
iconv -f GBK -t UTF-8 show_font.c

编译后执行。

时间: 2024-11-05 14:35:02

freetype显示矢量字体 -- 在LCD上测试的相关文章

freetype显示矢量字体 -- 在PC上测试初步使用

解压freetype-2.4.10.tar.bz2, 重命名为freetype-2.4.10_pc放入01th_pc目录下. 进入目录配置:./configure 编译:make 安装:sudo make install 编译应用程序:example.cgcc -o example1 example1.c -I /usr/local/include/freetype2 -lfreetype -lmgcc编译参数设置           -I     +头文件目录             库文件 

在开发板上实现矢量字体显示

对于开发板实现显示矢量字体,同样PC机一样,我需要字体文件,这里选择simsun.ttc(新宋体). 1)初始化库  FT_Init_FreeType( &library ); /* initialize library */ 2)create face object  FT_New_Face( library, argv[1], 0, &face ); 3)设置字体大小 FT_Set_Pixel_Sizes(face, 24, 0); 4)设置坐标 pen.x = 0 * 64; pen

FreeType 矢量字体 测试移植(1)

之前有做过 ascii 和汉字库的字体点阵在lcd上显示的例子,都是按照指定大小的字库的点阵来显示的,所以一但选定了字体文件后,就固定了大小,不可变化,当然也可以存放各种 大小的字体文件,但这样的话就需要很多的空间,这种方法显然不好使,所以就引入了失量字体,关于字体的特点就不啰嗦了.可以去网上搜到很多说明.下面我们一步一步的来做实验测试了解失量字体的用法,先在PC机上测试,然后再移植到开发板上用lcd显示. 一.首先我们要去获得失量字体的源码和一些文档,https://www.freetype.

8位灰度图在LCD上显示

一.概述 1.灰度 灰度使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像.每个灰度对象都具有从 0%(白色)到灰度条100%(黑色)的亮度值. 使用黑白或灰度扫描仪生成的图像通常以灰度显示. 像素值量化后用一个字节(8 bits)来表示.如把有黑-灰-白连续变化的灰度值量化为256个灰度级,灰度值的范围为0~255,表示亮度从深到浅,对应图像中的颜色为从黑到白.黑白照片包含了黑白之间的所有的灰度色调,每个像素值都是介于黑色和白色之间的256种灰度中的一种. 2.灰度图bmp文件

C#+OpenGL+FreeType显示3D文字(1) - 从TTF文件导出字形贴图

C#+OpenGL+FreeType显示3D文字(1) - 从TTF文件导出字形贴图 +BIT祝威+悄悄在此留下版了个权的信息说: 最近需要用OpenGL绘制文字,这是个很费时费力的事.一般的思路就是解析TTF文件从而得到字形的贴图,然后通过OpenGL绘制贴图的方式显示文字. 本篇记录了解析TTF文件并把所有字形安排到一张大贴图上的过程. 使用FreeType 想从零开始解析TTF文件是一个比较大的工程,所以目前就借助FreeType.FreeType是一个开源的跨平台的TTF文件解析器.当然

在PC上测试移动端网站和模拟手机浏览器的5大方

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",

在PC上测试移动端网站和模拟手机浏览器的5大方法

查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法,测试环境winxp. 一.Chrome*浏览器 chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1.新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择"复制",复制一个图标副本到桌面.右击该副本,选择"属性",

在电脑上测试手机网站全攻略

最近公司要开发网站的移动版,让我准备准备知识,话说本人开发移动网站的经验还真不多,最悲剧的事情就是我的手机是个经典的诺基亚,而且公司还不给配手机,这是有多扣啊,没办烦啦,没有手机就用电脑模拟呗,相办法代替,查了很多资料,尝试了大部分方法,下面将这一天的努力总结下分享给大家,也让大家免去看那么多文章,以下介绍的方法,都是本人亲自测试成功的方法. Chrome* chrome模拟手机总共有四种方法,原理都一样,通过伪装User-Agent,将浏览器模拟成Android设备.以下标星的为推荐方法. 1

C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字

C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字 上一篇实现了把文字绘制到OpenGL窗口,但实质上只是把含有文字的贴图贴到矩形模型上.本篇我们介绍用PointSprite绘制文字,这可以只用1个点绘制文字,并确保文字始终面相窗口.用PointSprite绘制的文字,其大小范围有限,本篇提供的Demo中,Max Row Width最大只有256.现在能够绘制少量的文字,为其指定的位置的过程与为一个点指定位置的过程是相同的,所以此方式的应用范围还是比较广