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中自适应显示图片 ...
随机推荐
- AGC044C Strange Dance
在2020年A卷省选day2t2有类似操作trie的技巧. 题目链接 显然是建一棵三叉trie树,代表0/1/2 对这棵trie树,我们需要支持子树交换和全局加1 考虑第一个操作怎么做?直接打个懒标记 ...
- Kubernetes(四)Pod详解
Pod详解 本章主要介绍Pod资源的各种配置(yaml文件)和原理 1. Pod介绍 如上图所示,每个Pod中都可以包含一个或多个Container,这些Containers 可以分为2类: 用户程序 ...
- Taro自定义分享,canvas生成图片模糊有锯齿
原因: 在移动端,手机的dpi是实际设计稿尺寸的2倍 设计稿尺寸: 210*168 canvas尺寸: 420 * 336 Taro.canvasToTempFilePath: width: 420, ...
- python3 安装pymssql失败 pip3 install pymssql
python3 安装pymssql失败 报错信息: AttributeError: module 'platform' has no attribute 'linux_distribution' 解决 ...
- 用const修饰指针
1)常量指针 语法:const 数据类型 *变量名; 不能通过解引用的方法修改内存地址中的值(用原始的变量名是可以修改的). 注意: l 指向的变量(对象)可以改变(之前是指向变量a的,后来可以改为指 ...
- VulnHub-DC-8渗透流程
DC-8 kali:192.168.157.131 靶机:192.168.157.152 信息收集 SQL注入 Drupal 7是有sql注入漏洞的,这里也能看到?nid=1,那测试一下?nid=1' ...
- 通过vscode写博客
通过Vscode写博客到博客园 前言 在以前的写作方式都是通过博客园内置的markdown进行工作,但是在实际使用过程中,感觉不是很方便,所以找到了用VSCode插件写作的方法. 所需插件 博客园Cn ...
- Python潮流周刊的优惠券和精美电子书(EPUB、PDF、Markdown)
Python潮流周刊从 2023.05.13 连载至今,本周即将发布第 60 期,这意味着我们又要达成一个小小的里程碑啦! 每周坚持做分享,周复一周,这对自己的精力和意志是一项不小的挑战.于是,为了让 ...
- [oeasy]python0131_[趣味拓展]各种符号_汉语拼音符号_中文全角英文字母_中文全角标点
各种符号 回忆上次内容 中文字符可以有各种分类方法 声母 拼音检字法 韵母 合辙押韵的分类 偏旁部首 实际上unicode的排序方法 添加图片注释,不超过 140 字(可选) ...
- Java maven反应堆构建学习实践
Java maven反应堆构建学习实践 实践环境 Apache Maven 3.0.5 (Red Hat 3.0.5-17) 应用示例 示例项目结构 maven示例项目组织结构如下 maven-stu ...