将图片转换为Framebuffer格式(终端显示图片)

要在ubuntu终端显示图片或者在板子的LCD显示图片,Framebuffer是一个简单易用的接口,直接写入像素信息即可。

但普通的图片带有头部信息或者编码格式不同,直接送入Framebuffer是显示不出来的,需要扣出像素信息,并按照Framebuffer的RGBA顺序调整好,才能显示。所以现在的问题就是,如何获取framebuffer的信息,以及如何调整图片。

第一个问题,如何获取framebuffer的信息

对于ubuntu,可以安装fbset 进行查看

sudo apt-get install fbset

安装完毕后,运行

sudo fbset -i

可以查看framebuffer的信息,默认是/dev/fb0

在我的笔记本上输出是的

mode "1366x768"
    geometry 1366 768 1366 768 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

Frame buffer device information:
    Name        : inteldrmfb
    Address     : 0xc0000000
    Size        : 4227072
    Type        : PACKED PIXELS
    Visual      : TRUECOLOR
    XPanStep    : 1
    YPanStep    : 1
    YWrapStep   : 0
    LineLength  : 5504
    Accelerator : No

可以看出屏幕是1366x768,但这里有个地方要注意,看这个参数,LineLength : 5504,一个像素点用四个字节表示的话,5505/4=1376,所以屏幕是1366x768,但实际上framebuffer的大小为1376x768。最开始这个没注意,显示的图片就乱了,搞半天才发现。

至于颜色,这里写的是 rgba 8/16,8/8,8/0,0/0 ,但实际测试的颜色顺序为bgra,暂时不知道为什么,不过这个试试就能知道实际的顺序。

第二个问题,如何调整图片

简单讲,就是扣出像素信息,并调整好RGBA的顺序,当然还要注意framebuffer跟图片大小不同时,要补0或截断。

用C写就比较麻烦,要知道图片编码格式的细节,网上有不少文章和代码,之前就是为了显示图片才了解了framebuffer,看这篇文章,后来弄了个python版本,有库就是好,没几行代码就搞完了,到github搜了下,似乎没有类似的工具,于是干脆完善下,代码已经上传到github,https://github.com/zqb-all/convertfb,第一次开源好吧,求star

要先安装PIL

sudo apt-get install python-imaging

目前提供了五个参数,

-i  输入图片

-o 输出文件

-bw Framebuffer的宽度

-bh Framebuffer的高度

-f 格式,也就是‘R’‘G‘‘B‘‘A‘四个字母,组合成三个字母的字符串或四个字母的字符串,按照实际来,也就是RGB,BGR,ARGB,BGRA等等都行

举个例子,对于我的笔记本,可以这么用,准备好一张图片,假设叫zqb-all.bmp

./convertfb -i zqb-all.bmp -o zqb-all.fb -bw 1376 -bh 768 -f BGRA

生成zqb-all.fb,然后直接丢进去即可

sudo cat zqb-all.fb > /dev/fb0

什么,看不到,当然看不到,要切换到终端1去看

按住Ctrl + Alt + F1

输入用户名和密码登陆,重新执行刚刚的cat操作,即可。

本文地址:http://www.cnblogs.com/zqb-all/p/6107905.html

时间: 2024-08-08 05:38:19

将图片转换为Framebuffer格式(终端显示图片)的相关文章

windows+caffe(二)——图片转换为levedb格式

借鉴于langb2014的  http://blog.csdn.net/langb2014/article/details/50458520 与liukailun09的  http://blog.csdn.net/liukailun09/article/details/51119052 1.数据 下载:来自langb2014大神的数据:http://pan.baidu.com/s/1nuqlTnN 数据介绍: 共有500张图片,分为大巴车.恐龙.大象.鲜花和马五个类,每个类100张.编号分别以3

Ubuntu 下将 svg 图片转换为其他格式 (如 png)

参考 How to Convert SVG Files to other Image Formats on Ubuntu 12.04/11.10 Ubuntu 下将 svg 图片转换为其他格式 (如 png) 通过rsvg转换svg格式的图片: sudo apt-get install librsvg2-bin rsvg input.svg output.jpg 2019.2 原文地址:https://www.cnblogs.com/qq952693358/p/10398676.html

如何将JSON转换为HTML格式并显示

ABAP接口程序开发中时常会用到JSON格式来传输数据,在监控传输的JSON串内容时,把JSON转换为HTML格式来显示会很便利. 下面提供一个简单例子来实现JSON转化为HTML并显示的功能. 其中: 1,使用 /ui2/cl_json=>serialize来生成JSON串, 2,调用  TRANSFORMATION sjson2html来转换HTML, 3,使用 cl_abap_browser=>show_html显示HTML. 代码: REPORT ztest_display_json.

将图片转换为base64 格式

1.页面上的图片,转换成base64格式,可以通过canvas 的 toDataURL 例子:给定图片的url 将图片转换为base64 var imageSrc = "../images/0.jpg"; // 图片的URL //@param image:Image 对象,ext:图片的格式(jpg)function getBase64Image(image,ext){ var canvas = document.createElement("canvas"); c

怎么用转换器把图片转换为PDF格式

PDF文件与Office.TXT.图片格式之间的转换一直都是办公用户最为关注的话题,对于如何将批量PDF中的图片转换成Word文档更是困扰着许多人.本文将介绍一种方法直接将PDF批量图片转换为为Word文档. 首先介绍本次要用到的转换工具: 以迅捷PDF转换器为例,这是一款无须依赖Adobe Acrobat,Acrobat Reader 软件,提供多个文档转换模式和编辑功能,比如我们通过这款软件来完成文件转Word.文件转Excel.文件转PPT等,另外也可以进行PDF切割.PDF合并.PDF解

python 使用pillow将图片转换为webp格式

1.webp格式 webp格式是谷歌开发的一种旨在加快图片加载速度的格式,将图片转为webp格式后,体积约为原来的2/3,这可以节省大量的服务器带宽,微信公众号文章里的图片就是这种格式的. 2.使用pillow模块将图片转为webp格式 #coding=utf-8 from PIL import Image im = Image.open('3.jpeg').convert("RGB") im.save("3.webp", "WEBP") 代码是

图片下载本地缓存时间戳显示图片方法

来源:http://ask.dcloud.net.cn/article/511 源码下载 参考文章http://ask.dcloud.net.cn/article/256http://ask.dcloud.net.cn/article/397 说明:为了方便,里面使用的图片来源是从上面文章中的源码项目获取的.说明:参考了上面文章中的思路,然后自己重新写了一个较为完整的图片本地缓存显示工具.功能1.第一次显示图片时下载到本地,然后之后如果本地存在缓存(根据url),则显示本地缓存的图片2. 基于p

在数据库中 存储图片 以及 在界面中显示图片(存储图片路径)- 这种方法相对与存储二进制文件好

花了一下午时间,终于学会了在数据库中存储图片,以及在界面中显示图片了. 存储图片有两种方法: 一种是:直接把图片转换成二进制文件存储在数据库中. 一种是:存储图片的路径到数据库,用的时候直接调用路径给image等图像控件即可. 两种方法,有利有弊,第一种方法适合存储量少且重要的图片信息.第二种方法适合存储量大但不是太重要的图片. 我使用的是第二种方法,简单,实用. 下面就是我具体的实现过程: 首先我新建了两个网页文件,insert_photo.aspx / select_photo.apsx 第

ie8浏览器 图片本身问题导致 无法显示图片--- 诡异现象的排查分享

引子:   前段时间 做新版2.0 首页 的时候, 总感觉 新版首页 线上 精彩回顾下的 2张图片颜色怪怪的,当时以为是图片压缩太厉害导致的,由于实在太忙就没太在意!以下 是来自线上 截图:  红色方框 我认为  那2张 怪怪的 图片,大家感受下颜色是否不一样!   问题描述:        今天,测试同学找到我,说新版首页 精彩回顾下方 2张图片 在 ie8下 图片展现不出来了!   开始排查:  通过 浏览器 查看图片 DOM结构, 代码如下:  <img data-original="