如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/79075800

网上相关功能实现资料有很多,关键操作:海思osd+freetype+SDL+SDL_ttf字体颜色。我的虚拟机是 Ubuntu 14.04,那首先移植 freetype+SDL+SDL_ttf 这三个库。

一、库移植

(1)freetype下载安装

1、下载

  • freetype下载
    选择下载版本为: freetype-2.4.10.tar.gz

2、安装

解压: # tar -xvf freetype-2.4.10.tar.gz
进入freetype文件目录: # cd freetype-2.4.10
执行: # ./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux
编译:make && make install

(2)SDL下载安装

1、下载

  • SDL下载
    选择下载版本:SDL-1.2.15.tar.gz

2、安装

解压: # tar -xvf SDL-1.2.15.tar.gz
进入SDL文件目录: # cd SDL-1.2.15/
执行: # ./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux
编译:make && make install

(3)SDL_ttf下载安装

1、下载

  • SDL_ttf下载
    选择下载版本:SDL_ttf-2.0.11.tar.gz

2、安装

解压: # tar -xvf SDL_ttf-2.0.11.tar.gz
进入SDL_ttf文件目录: # cd SDL_ttf-2.0.11/
执行: # ./configure CC=arm-hisiv300-linux-gcc --host=arm-hisiv300-linux --with-freetype-prefix=/usr/local/ --with-sdl-prefix=/usr/local/
编译: make && make install

注意:将上面的 – 改为两个 -
这是CSDN编译器的bug!!

二、测试

(1)拷贝生成sdl库

mkdir /opt/sdl_lib
cd /opt/sdl_lib
cp /usr/local/include/ ./ -rf
cp /usr/local/lib/ ./ -rf

(2)编写测试程序

/************************************************************> File Name: test.c> Author: Sues> Mail: sumory.kaka@foxmail.com > Created Time: 2017年02月28日 星期二 21时47分05秒************************************************************/#include<stdio.h>
#include "SDL.h"
#include "SDL_ttf.h"int main(int argc, const char *argv[])
{char * pstr = "hello";SDL_PixelFormat *fmt;TTF_Font *font;  SDL_Surface *text, *temp;  if (TTF_Init() < 0 ) {  fprintf(stderr, "Couldn't initialize TTF: %s\n",SDL_GetError());  SDL_Quit();}  font = TTF_OpenFont("./simhei.ttf", 48); if ( font == NULL ) {  fprintf(stderr, "Couldn't load %d pt font from %s: %s\n",18,"ptsize", SDL_GetError());  }  SDL_Color forecol = { 0xff, 0xff, 0xff, 0xff };  text = TTF_RenderUTF8_Solid(font, pstr, forecol);fmt = (SDL_PixelFormat*)malloc(sizeof(SDL_PixelFormat));memset(fmt,0,sizeof(SDL_PixelFormat));fmt->BitsPerPixel = 16;fmt->BytesPerPixel = 2;fmt->colorkey = 0xffffffff;fmt->alpha = 0xff;temp = SDL_ConvertSurface(text,fmt,0);SDL_SaveBMP(temp, "save.bmp"); SDL_FreeSurface(text);  SDL_FreeSurface(temp);TTF_CloseFont(font);  TTF_Quit();  return 0;
}

(3)编译

# arm-hisiv300-linux-gcc test.c `sdl-config --cflags --libs` -I/opt/sdl_lib/include -I/opt/sdl_lib/include/SDL -L/opt/sdl_lib/lib -lSDL -lSDL_ttf -Wl,-rpath -o test

想了解更多,参看:UNIX再学习 – 静态库与共享库

(4)在开发版上执行 test

模组烧写,参看:Hi3516A开发-- 生成烧写最小文件系统 squashfs

在test文件下放置simhei.ttf文件,这样才能找到字体

如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/79075800

Hi3516A开发-- OSD功能实现相关推荐

  1. Hi3516A开发-- UBI 文件系统使用指南

    这篇文章在 Hi3516A V100R001C01SPC050\02.Only for Reference\02.software\documents_cn\UBI 文件系统使用指南.pdf 拿出来只 ...

  2. Hi3516A开发--编译内核、uboot

    操作之前先安装必要的软件: 参看:Hi3516A开发--编译整个osdrv目录所遇到的问题总结 首先SDK安装 拷贝Hi3516A_SDK_V1.0.5.0.tgz至Linux下 #tar -zxvf ...

  3. Windows Phone 开发——相机功能开发

    原文:Windows Phone 开发--相机功能开发 相机功能是手机区别于PC的一大功能,在做手机应用时,如果合理的利用了拍照功能,可能会给自己的应用增色很多.使用Windows Phone的相机功 ...

  4. Hi3516A开发-- 板卡串口烧写

    uboot使用loady命令进行串口传输 新改版的板卡,网络无法使用,uboot可以起来,但是内核和文件系统镜像,没法烧写. 在无网络的情况下,SecureCRT使用loady命令进行串口传输,烧写内 ...

  5. Hi3516A开发--视频输入和输出接口

    海思hi3516A芯片的开发板,接口类型多样,有hdmi.sdi.cvbs.cmos的输入类型. 参看于:海图电子--Hi3516A开发板 一.hi3516A HDMI 编码板接口如下: 硬件接口: ...

  6. 新闻资讯java开发_新闻资讯app开发的功能与意义

    获取新闻的目的因人而异,但对获取新闻的需求是一样的.现在是移动互联网的时代.人们不再想依靠传统的手段,而把便利作为获取服务的核心.因此,开发新闻咨询app是必要的.其到来不仅意味着获得新闻登上新的阶梯 ...

  7. Git协助方式:Fork项目开发新功能并使用Pull-Request把新特性推送给原项目

    Git协助方式:Fork项目开发新功能并使用Pull-Request把新特性推送给原项目 Pull Request 是开发者使用 GitHub 进行协作的利器.这个功能为用户提供了友好的页面,让提议的 ...

  8. 教你在 CentOS 8上安装GCC实现开发编译功能

    介绍 GNU Compiler Collection (GCC)是由C.C++.Objective-C.Fortran.Ada.Go和D等编程语言的编译器和库组成,很多开源项目,包括Linux内核和G ...

  9. 借Google Guava学习发现和开发通用功能模块

    如何发现通用的功能模块? 很多人觉得做业务开发没有挑战,实际上,做业务开发也会涉及很多非业务功能的开发,比如我们前面讲到的 ID 生成器.性能计数器.EventBus.DI 容器,以及后面会讲到的限流 ...

最新文章

  1. VRRP和单臂路由的综合运用
  2. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 cosωn 的傅里叶变换 | 复变函数欧拉公式 )
  3. oracle rac 错误日志路径,ORACLE 11G RAC--日志路径
  4. extjs combobox分页查询
  5. SolrCloud6.1.0之SQL查询测试
  6. word日常排版(页眉和页脚)
  7. mysql sample函数_Oracle SAMPLE 语法应用
  8. STM32固件库官方下载地址
  9. Big FAT32 Format Pro(U盘格式化工具)官方正式版V2.0 | u盘无法格式化怎么办 | 万能u盘修复工具下载 | 突破FAT文件系统4GB的限制
  10. 为什么直播礼物特效越来越流行?
  11. 解决启动CAD时没有响应
  12. 奶爸日记2 - 鑫鑫感动了婆婆
  13. 非线性回归-最小二乘法
  14. Feescale K64开发笔记1: 开发环境的建立
  15. javascript的getDay()方法
  16. 多边形(n边形)面积计算公式hdu2036
  17. 如何用Scrum做变革管理的落地实施
  18. 使用新路由器有线/无线桥接旧路由器
  19. 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework
  20. 【转载】SoapUI接口测试

热门文章

  1. PHP 计算每个月的最后一天
  2. python 利用numpy进行数据分析
  3. nginx反向代理配置及优化
  4. 条款五:对应的new和delete要采用相同的形式
  5. anaconda prompt 执行pip install --upgrade pip 错误解决办法
  6. Linux操作系统下双网卡路由表配置
  7. MATLAB函数记录
  8. [云炬创业基础笔记]第四章测试23
  9. [云炬ThinkPython阅读笔记]3.1 函数调用
  10. 科大星云诗社动态20210824