100ASK_IMX6ULL arm板子如何显示图片、汉字、划线、背景色
最近在研究基于imx6ull开发板,想让开发板支持显示图片、字符串、背景色的功能。
操作的主要步骤如下:
- 移植设备树和驱动
- 移植libjpeg库
- 编写测试程序
一、移植设备树和驱动
开发板原厂SDK已经移植了lcd对应的设备树和驱动。具体可以参考韦东山老师的文章
https://blog.csdn.net/thisway_diy/article/details/104697924
二、移植libjpeg库
1.下载libjpeg库
下载地址:
http://www.ijg.org/files/
选择版本:jpegsrc.v6b.tar.gz
2.解压
yikou@ubuntu:/work/lib$ tar -zxvf jpegsrc.v6b.tar.gz
3.配置
yikou@ubuntu:/work/lib$ cd jpeg-6b/
./configure --host=arm-linux-gnueabihf --prefix=$PWD/temp_install
如果遇到错误提示没有某个目录,只需要手动创建即可
4. 安装
yikou@ubuntu:/work/lib/jpeg-6b$ make
yikou@ubuntu:/work/lib/jpeg-6b$ make install
5.查看
yikou@ubuntu:/work/lib/jpeg-6b$ cd temp_install/
yikou@ubuntu:/work/lib/jpeg-6b/temp_install$ ls
bin include lib share
我没有使用动态库,而是直接使用静态库/work/lib/jpeg-6b/libjpeg.a 编译代码,方便操作。
三、 编译测试程序
一口君是把静态库直接拷贝到测试代码目录lib下,头文件拷贝到include下。
- lcd.c、lcd_show_jpeg.c为基于libjpeg库实现的显示汉字、显示图片、划线等功能函数。
- HZK16为汉字库
- ./lib/libjpeg.a 是libjpeg静态库
- include下的头文件是图片格式处理、显示字符串、划线要用到的其他的头文件
这些功能具体原理,可以自己查看代码,暂不讨论。
完整代码请关注 一口Linux,后台回复IMX6ULLlcd
以下是测试程序文件:
main.c
#include <stdio.h>
#include <unistd.h>
#include "lcd.h"
#include "lcd_show_jpeg.h"
int main(int argc, const char *argv[])
{
LCD_Init(); //初始化
LCD_Clear(RED);//背景呈红色
for(;;)
{//1024 * 600
printf("------一口Linux----------\n");
LCD_PutString(240,136,"一口Linux",BLUE,RED);//在240.136位置显示一口Linux,蓝字红底
sleep(1);
LCD_Clear(BLUE);
show_jpeg("test.jpeg");//显示图片test.jpeg
sleep(10);
}
return 0;
}
arm-linux-gnueabihf-gcc *.c -o run -I ./include/ ./lib/libjpeg.a
执行结果:
想呈现其他显示效果,只需根据实例调用对应函数即可。
备注:常见错误解决
如果版本选择的不对,会遇到以下错误:
Wrong JPEG library version: library is 90, caller expects 62
因为使用的库版本太高是90的,所以需要下载62版本,对应的是这个压缩包jpegsrc.v6b.tar.gz。
其中:62 对应 6b
在移植mjpeg-streamer也会遇到类似错误,按照步骤修改即可。
然后按照1-5步骤重新操作即可
更多linux知识,关注 一口Linux
100ASK_IMX6ULL arm板子如何显示图片、汉字、划线、背景色的更多相关文章
- 将中文库导入到ARM板子中以解决中文显示乱码的教程
1.将中文字符集导入到ARM板子中的/usr/fonts/目录下 在这里我们使用的字符集为:DroidSansFallback.ttf 下载地址为:https://pan.baidu.com/s/1e ...
- python将图片转换为Framebuffer裸数据格式(终端显示图片)
要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口,直接写入像素信息即可. 但普通的图片带有头部信息或者编码格式不同,直接送入Framebuffer是显 ...
- EmguCV控件Emgu.CV.UI.ImageBox及C# picturebox显示图片连续刷新出现闪烁问题
在上一篇里,EmguCV(OpenCV)实现高效显示汉字及叠加 实现了视频叠加及显示,但存在问题,就是 Emgu.CV.UI.ImageBox及C# picturebox显示图片时都会出现闪烁,尤其 ...
- Android TextView里直接显示图片的三种方法
方法一:重写TextView的onDraw方法,也挺直观就是不太好控制显示完图片后再显示字体所占空间的位置关系.一般假设字体是在图片上重叠的推荐这样写.时间关系,这个不付源代码了. 方法二:利用Tex ...
- 【linux基础】关于ARM板子使用O3编译选项优化
前言 应领导要求需要将最初级版本的算法移植到ARM板子上,并进行优化,以期达到实时. 平台 移植前: TX2 移植后: ARM() processor : model name : ARMv7 Pro ...
- python将图片转换为Framebuffer裸数据格式(终端显示图片)【转】
转自:https://www.cnblogs.com/zqb-all/p/6107905.html 要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口, ...
- img只显示图片一部分 或 css设置背景图片只显示图片指定区域
17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左 ...
- Chrome 控制台新玩法-console显示图片以及为文字加样式
有兴趣的同学可以文章最后的代码复制贴到控制台玩玩. Go for Code 在正常模式下,一般只能向console 控制台输出简单的文字信息.但为了把信息输出得更优雅更便于阅读,除了cosole.lo ...
- 如何使用SOIL在VS2012的 C++环境下显示图片
先看下效果. 这是一个很无聊的功能....首先说下,我做这个功能的初衷并不是为了实现在控制台中显示图片...(这貌似很无聊) 而是因为自己想做用C做一个游戏:http://q.cnblogs.com/ ...
- Qt自适应大小显示图片,添加菜单
由于后面的图像处理需要UI,OpenCV自带也不怎么会,MFC实在懒得学的.听同学说Qt不错,就用Qt做UI了. 本文主要介绍三个内容:在Qt Creator中使用OpenCV2.Qt中自适应显示图片 ...
随机推荐
- 关于java-Class类的简单分析
java有个Class的基类,高级编程的时候,务必要理解这个. 粗略看下,可以明白了解Class这个类对于了解和掌握java非常重要. Class这个类的包路径是:java.lang.Class< ...
- NXP i.MX 6ULL工业核心板规格书( ARM Cortex-A7,主频792MHz)
1 核心板简介 创龙科技SOM-TLIMX6U是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的低成本工业级核心板,主频792MHz,通过邮票孔连接方式引出Eth ...
- Spark内核架构核心组件.txt
1.Application2.spark-submit3.Driver4.SparkContext5.Master6.Worker7.Executor8.Job9.DAGScheduler10.Tas ...
- Unity 中使用Geomotry Shader(几何着色器)扩展点创建其他图形(并实现处理锯齿)
问题背景: 我们开发中需要有"点"对象,可以是像素的(不具备透视效果),始终等大,还有就是3D场景下的矢量点(随相机距离透视变化的). 问题解决思路: 方案1:使用GS扩充顶点,并 ...
- 【Hadoop报错】The directory item limit is exceeded: limit=1048576 items=1048576
问题描述: 调度系统执行hive任务失败,一直执行失败,报错如下: java.io.IOException: java.net.ConnectException: Call From #HostNam ...
- python跟踪脚本运行过程(类似bash shell -x)
#详细追踪 python -m trace --trace pyscript.py #显示调用了哪些函数 python -m trace --trackcalls pyscript.py
- npm基本操作手册
查看npm版本 npm -v 设置仓库地址 # 默认仓库地址 npm config set registry https://registry.npmjs.org/ # 淘宝镜像地址 npm conf ...
- Mysql 日期查询今天、昨天、近7天、近30天、本月、上一月、本季
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...
- 动手学深度学习——CNN应用demo
CNN应用demo CNN实现简单的手写数字识别 import torch import torch.nn.functional as F from torchvision import datase ...
- [oeasy]python0010_怎么用命令行保存文件
编写 py 文件 回忆上次内容 上次 真的输出了 程序员的浪漫 Hello world! print函数 可以输出 字符串 但是 print这个词 别拼错 就连 大小写 也别能错 错了就改 也没事 ...