Hi3516A开发-- OSD功能实现
如需转载请注明出处: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功能实现相关推荐
- Hi3516A开发-- UBI 文件系统使用指南
这篇文章在 Hi3516A V100R001C01SPC050\02.Only for Reference\02.software\documents_cn\UBI 文件系统使用指南.pdf 拿出来只 ...
- Hi3516A开发--编译内核、uboot
操作之前先安装必要的软件: 参看:Hi3516A开发--编译整个osdrv目录所遇到的问题总结 首先SDK安装 拷贝Hi3516A_SDK_V1.0.5.0.tgz至Linux下 #tar -zxvf ...
- Windows Phone 开发——相机功能开发
原文:Windows Phone 开发--相机功能开发 相机功能是手机区别于PC的一大功能,在做手机应用时,如果合理的利用了拍照功能,可能会给自己的应用增色很多.使用Windows Phone的相机功 ...
- Hi3516A开发-- 板卡串口烧写
uboot使用loady命令进行串口传输 新改版的板卡,网络无法使用,uboot可以起来,但是内核和文件系统镜像,没法烧写. 在无网络的情况下,SecureCRT使用loady命令进行串口传输,烧写内 ...
- Hi3516A开发--视频输入和输出接口
海思hi3516A芯片的开发板,接口类型多样,有hdmi.sdi.cvbs.cmos的输入类型. 参看于:海图电子--Hi3516A开发板 一.hi3516A HDMI 编码板接口如下: 硬件接口: ...
- 新闻资讯java开发_新闻资讯app开发的功能与意义
获取新闻的目的因人而异,但对获取新闻的需求是一样的.现在是移动互联网的时代.人们不再想依靠传统的手段,而把便利作为获取服务的核心.因此,开发新闻咨询app是必要的.其到来不仅意味着获得新闻登上新的阶梯 ...
- Git协助方式:Fork项目开发新功能并使用Pull-Request把新特性推送给原项目
Git协助方式:Fork项目开发新功能并使用Pull-Request把新特性推送给原项目 Pull Request 是开发者使用 GitHub 进行协作的利器.这个功能为用户提供了友好的页面,让提议的 ...
- 教你在 CentOS 8上安装GCC实现开发编译功能
介绍 GNU Compiler Collection (GCC)是由C.C++.Objective-C.Fortran.Ada.Go和D等编程语言的编译器和库组成,很多开源项目,包括Linux内核和G ...
- 借Google Guava学习发现和开发通用功能模块
如何发现通用的功能模块? 很多人觉得做业务开发没有挑战,实际上,做业务开发也会涉及很多非业务功能的开发,比如我们前面讲到的 ID 生成器.性能计数器.EventBus.DI 容器,以及后面会讲到的限流 ...
最新文章
- VRRP和单臂路由的综合运用
- 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 cosωn 的傅里叶变换 | 复变函数欧拉公式 )
- oracle rac 错误日志路径,ORACLE 11G RAC--日志路径
- extjs combobox分页查询
- SolrCloud6.1.0之SQL查询测试
- word日常排版(页眉和页脚)
- mysql sample函数_Oracle SAMPLE 语法应用
- STM32固件库官方下载地址
- Big FAT32 Format Pro(U盘格式化工具)官方正式版V2.0 | u盘无法格式化怎么办 | 万能u盘修复工具下载 | 突破FAT文件系统4GB的限制
- 为什么直播礼物特效越来越流行?
- 解决启动CAD时没有响应
- 奶爸日记2 - 鑫鑫感动了婆婆
- 非线性回归-最小二乘法
- Feescale K64开发笔记1: 开发环境的建立
- javascript的getDay()方法
- 多边形(n边形)面积计算公式hdu2036
- 如何用Scrum做变革管理的落地实施
- 使用新路由器有线/无线桥接旧路由器
- 顶会论文笔记:联邦学习——ATPFL: Automatic Trajectory Prediction Model Design under Federated Learning Framework
- 【转载】SoapUI接口测试