之前用点陈字库做过3515,3520a的字库,现在为新需求,要用矢量字库做osd。决定用SDL_tff库做。

配置freetype:

xy@xy-pc:~/aaa/freetype-2.4.10$ CC=arm-hisiv200-linux-gcc ./configure --prefix=/home/xy/aaa/bin   --host=arm-linux

编译安装:make ,make install。

配置SDL:

xy@xy-pc:~/aaa/SDL-1.2.15$ CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-cpp ./configure --prefix=/home/xy/aaa/bin   --host=arm-linux --disable-alsa  --disable-pulseaudio

编译安装。

配置SDL_tff:

xy@xy-pc:~/aaa/SDL_ttf-2.0.11$CC=arm-hisiv200-linux-gcc ./configure --with-freetype-prefix=/home/xy/aaa/bin --host=arm-linux

编译安装.

/** main.c**  Created on: 2013-1-22*      Author: xy*/
#include <stdlib.h>
#include <string.h>
#include "SDL/SDL.h"
#include "SDL/SDL_ttf.h"int main(int argc,char **argv)
{TTF_Font *font;SDL_Surface *text, *temp;/* Initialize the TTF library */if ( TTF_Init() < 0 ) {fprintf(stderr, "Couldn't initialize TTF: %s\n",SDL_GetError());SDL_Quit();return(2);}font = TTF_OpenFont("cu.ttf", 48);if ( font == NULL ) {fprintf(stderr, "Couldn't load %d pt font from %s: %s\n","ptsize", 18, SDL_GetError());}// TTF_SetFontStyle(font, 0);
//  TTF_SetFontOutline(font, 0);
//  TTF_SetFontKerning(font, 1);
//  TTF_SetFontHinting(font, 0);//SDL_Color forecol=    { 0xFF, 0xFF, 0xFF, 0 };SDL_Color forecol=     { 0x00, 0x00, 0x00, 0 };char *string="你好啊";text = TTF_RenderUTF8_Solid(font, string, forecol);//SDL_LoadBMPSDL_SaveBMP(text, "1.bmp");SDL_FreeSurface(text);TTF_CloseFont(font);TTF_Quit();}

就可以保存成1.bmp了。输入了汉字。代码保存的文本格式应该utf-8.

对于海思3520a用的是rgb1555格式,所以应该转成那种格式:

     /* Convert to 16 bits per pixel */SDL_Surface *temp = SDL_CreateRGBSurface(SDL_SWSURFACE,text->w, text->h, 16,\0x00FF0000, 0x0000FF00, 0x000000FF,/*0x00FF0000, 0x0000FF00, 0x000000FF*/0);SDL_Rect bounds;if (temp != NULL){bounds.x = 0;bounds.y = 0;bounds.w = text->w;bounds.h = text->h;if (SDL_LowerBlit(text, &bounds, temp, &bounds) < 0) {SDL_FreeSurface(text);SDL_SetError("Couldn't convert image to 16 bpp");text = NULL;}}stBitmap.u32Width = temp->w;stBitmap.u32Height = temp->h;stBitmap.pData=  temp->pixels;stBitmap.enPixelFormat= PIXEL_FORMAT_RGB_1555 ;SDL_FreeSurface(text);SDL_FreeSurface(temp);

添加以上代码,基本就可以达到了。

因为自己的不细心,调试了大半天。真是不应该啊。其实早知道这样做,但是思维上总是背道而驰。

以后编程应该更细心,至少节省时间啊。。。。

3520a SDL_tff库做bmp 也就是osd相关推荐

  1. python rsa 公钥解密_python利用rsa库做公钥解密的方法教程

    前言 对于RSA的解密,即密文的数字的 D 次方求mod N 即可,即密文和自己做 D 次乘法,再对结果除以 N 求余数即可得到明文.D 和 N 的组合就是私钥(private key). 算法的加密 ...

  2. Python 之 使用 PIL 库做图像处理

    http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html Python 之 使用 PIL 库做图像处理 1. 简介. 图像 ...

  3. python导出数据顿号做分隔符_Python语言和matplotlib库做数据可视化分析

    这是我的第51篇原创文章,关于数据可视化分析. 阅读完本文,你可以知道: 1 Python语言的可视化库-matplotlib? 2 使用matplotlib实现常用的可视化? 0前言 数据记者和信息 ...

  4. 使用karma+mocha+chai为vue组件库做单元测试

    前言 单元测试,这一环节对我们的应用的重要性不言而喻,它能很大程度确保我们项目运行的健壮性.因此,前一段时间,笔者公司要求现有的vue搭建的npm组件库做单元测试.之前,笔者对单元测试做过了解,一直想 ...

  5. 人脸验证1:1——用现有库做

    哈喽,我是菜鸟小明哥. 今天遇到个问题,其实这个问题存在已久了,就是简单的人脸验证,1:1识别,我觉得这是个基本问题,应用场景广泛,如果这个都没有做过,岂不是很笨,很尴尬.所以今天还是用现有的库做一下 ...

  6. go语言单元测试之三:go语言用goconvey库做单元测试

    一,安装用到的库 一,goconvey库的代码地址 https://github.com/smartystreets/goconvey 2,从命令行安装 liuhongdi@ku:~$ go get ...

  7. 用turtle库做游戏 笔记

    这里记录一下我用turtle库做游戏遇到的问题和心得 turtle加载图片的原理 turtle.Screen() while True中的'金句' 控制刷新率 监听键盘鼠标 加载音乐和音效 碰撞检测 ...

  8. 利用monment库做一个日历表

    利用monment库做一个日历表 先看完成品 点击上月和下月根据当前系统的时间进行变化 这是布局 <div class="wapper"><div class=& ...

  9. python3使用timeit库做函数性能时间测试

    # ++++++++++++++++++++++++++++++++++++++++++++++++++++++ # <read-code-notes: 2021/6/9/9:48> # ...

最新文章

  1. 玩转数据、拥抱智能 | 清华大学大数据能力提升项目宣讲会火热来袭
  2. UMLChina: trufun Plato是中国唯一的UML建模工具
  3. PHP 使用POST 获取不到部分数据问题
  4. 数据结构与算法笔记(八)—— 插入排序
  5. SAP 限制出货数量小于销售订单数量
  6. 前端学习(2538):slice
  7. 初学Python之利用map编写姓名格式化输出函数
  8. Android Banner Indicator 轮播图指示器
  9. 深入理解以太坊 P2P 网络设计
  10. 很火的区块链头部游戏《Axie Infinity》单日盈收竟与王者荣耀争锋,它是什么?
  11. day08 系统篇端口扫描CDN服务负载均衡WAF防火墙
  12. 手机3D的新境界:Omnia II 是3D方面的力作!!
  13. 如何快速搞定技术女神
  14. slack 开源系统_Slack团队聊天的5种开源替代品
  15. 鼠标测试cps软件,人最多鼠标cps是多少?
  16. visio 为保存卡死找回文件
  17. matlab单位采样序列程序,常用序列的MATLAB代码(一)
  18. 网友说:数据分析师是青春饭,年龄影响很大
  19. 今天在隧道一车上的一幕
  20. ESMap平台如何制作多楼层室内三维地图-易景空间地图

热门文章

  1. 早期计算机音乐创作的歌曲,14.计算机音乐创作(专业组)
  2. 网上选课系统java大作业_Java面向对象设计大作业——公选课选课系统
  3. 三国大将风云java_三国正史四大猛将:临阵斩杀敌方大将,连吕布和马超也做不到...
  4. 华为手机如何升级鸿蒙系统_华为手机怎么升级鸿蒙系统?答案来了
  5. python 二进制文件_使用Python进行二进制文件读写的简单方法(推荐)
  6. matlab程序设计实践,MATLAB程序设计实践(第二题)
  7. 清华大学计算机专业学生埃朗读村,《朗读者~矣晓沅(清华大学计算机研究生  彝族)》...
  8. 抢疯了~调研了数10+大厂的AI人才需求的公开课,现在免费学
  9. 华为鸿蒙系统有什么特色,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  10. 求排序一堆整数,数据都是有限范围的和有限个数的,对他们进行排序,要求O(n)的时间复杂度....