fbv (FrameBuffer Viewer)编译指南
fbv:FrameBuffer image Viewer,可在控制台下查看jpg,png,gif,bmp等格式的图片,可以结合FBTerm在控制台设置背景图片,也可在编译在嵌入式设备上使用。但是ubuntu源里没有提供,需下载fbv的源码编译,依赖于下面三个库,(源码里包含相应的头文件,所以不能只是简单的从有这些库的电脑中复制过来这几个库,还要有头文件),你可以只下载其中一个库只查看某个格式的图片,需要修改下Makefile和main.c。
下载安装libjpeg:
wget http://www.ijg.org/files/jpegsrc.v8d.tar.gz
下面的需要root权限:
tar -zxvf jpegsrc.v8d.tar.gz -C /usr/local/src
cd /usr/local/src/jpeg-8d
./configure && make && make install
下载安装libpng:
从http://www.libmng.com/pub/libpng.html
注:libpng需要zlib,ubuntu源里是zlib1g,zlib1g-dev
libungif可从源安装或http://sourceforge.net/projects/giflib/files/
系统默认支持bmp,根据编译时的错误提示去修改main.c和makefile中当前不支持的。
png库中的结构体发生了变化,若使用的是较高版本需修改fbv1.0中png.c中的部分代码,否则make时出错。
#if (PNG_LIBPNG_VER < 10500)
if (setjmp(png_ptr->jmpbuf))
{
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if(rp) free(rp);
fclose(fh); return(FH_ERROR_FORMAT);
}
#else
if (setjmp(png_ptr))
{
png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL);
if(rp) free(rp);
fclose(fh); return(FH_ERROR_FORMAT);
}
#endif
顺利安装后便可查看jpg和bmp,如:fbv xxx.jpg(会是全屏),按q退出。
当你尝试在控制台打开png图片时可能发现未找到libpng16.so.16等,但是用whereis,grep等查找到,可以运行sudo ldconfig。
打包成deb的方法:checkinstall -D(也许你先要下载checkinstall)
下面附上32位的deb包(去掉后缀zip)(可看png,jpg,bmp):fbv_1.0b-1_i386.deb.zip
有兴趣还可以使用fbgrab(fbcat的一个工具)来截图:fbgrab screenshot.png
另外可以用cat /dev/fb0 > screen.raw 来抓取控制台/dev/tty中的原始数据,fbgrab实际上是将其转换为png格式。要想查看刚捕获的,可以cat screen.raw > /dev/tty.
fbv (FrameBuffer Viewer)编译指南的更多相关文章
- openjdk 完全编译指南
从openjdk.java.net下载openjdk的软件包,你就获得了所有相关的源码. 强烈建议首先仔细看懂 README-builds.html 指南. 在执行 make all 之前,首先要 执 ...
- HoloLens开发手记- SpectatorView for iOS编译指南
微软前两天发布了HoloLens 2,给MR开发带来了新的希望,全面的性能和显示效果提升,让人期待. 去年推出的预览版的全新SpectatorView for iOS解决方案,这允许我们直接使用带AR ...
- 代码混淆防止APP被反编译指南
本文来自网易云社区 安卓App安全包含很多内容,包括混淆代码.整体Dex加固.拆分 Dex 加固.虚拟机加固等方面.事实上,这些内容也是国内近几年Android App安全保护的一种主要趋势. 混淆代 ...
- 开源库SRT编译指南
SRT(Secure,Reliable,Transport)是Haivision公司开发的一套开源媒体传输协议,用于在不稳定的网络环境下,优化媒体数据的传输性能. SRT的码流加密基于开源库open ...
- 超级简单的跨平台高性能音视频播放框架QtAv编译指南
目录 一.了解QtAv 二.相关文章 三.下载QtAv源码 四.下载QtAv依赖库 五.设置环境变量 1.gcc设置方式 2.msvc(cl)设置方式 六.编译 七.测试 一.了解QtAv 这几天抱着 ...
- 【英文文档】 Installing Go from source Go语言官方编译指南 2019.02.27
Introduction Go is an open source project, distributed under a BSD-style license. This document expl ...
- jrtplib编译指南
The library offers support for the Real-time Transport Protocol (RTP), The library uses the JThread ...
- openCV3 Python编译指南
这里主要对openCV官网的<Installation in Linux>文档进行了翻译和解释 原文见:https://docs.opencv.org/3.4.1/doc/tutorial ...
- Boost下载安装编译配置使用指南(含Windows和Linux
理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...
随机推荐
- [LINK]OpenResty
http://openresty.org/ http://www.tuicool.com/articles/M3yI3y http://www.oschina.net/question/28_6046 ...
- MyBatis拦截器原理探究
MyBatis拦截器介绍 MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能.那么拦截器拦截MyBatis中的哪些内容呢? 我们进入官网看一看: MyBatis 允 ...
- java并发:阻塞队列
第一节 阻塞队列 1.1 初识阻塞队列 队列以一种先进先出的方式管理数据,阻塞队列(BlockingQueue)是一个支持两个附加操作的队列,这两个附加的操作是:在队列为空时,获取元素的线程会等待队列 ...
- 微软分布式云计算框架Orleans(2):容灾与集群(1)
在上一篇:微软分布式云计算框架Orleans(1):Hello World,我们大概了解了Orleans如何运用,当然上一篇的例子可以说是简单且无效的,因为用了Orleans不可能只写一个Hello ...
- 基于FPGA的通信信号源的设计
通信信号源设计原理 通过设计一个DDS信号源,然后将该信号作为载波信号,再对基带信号进行2ASK.2FSK.2PSK.2DPSK调制,进而产生多种通信信号. 设计框图如下: 将PN序列进行2ASK.2 ...
- [CF#290 Div.1 C]Fox And Dinner(最大流)
题目:http://codeforces.com/contest/512/problem/C 题目大意:给你若干个数,让你分成k组,每组围成一个圆,使得相邻两个数和均为素数,且每组人数应>=3个 ...
- 【JavaEE企业应用实战学习记录】struts2实现登录并获取各个范围的数据
package sanglp; import com.opensymphony.xwork2.*; /** * Created by Administrator on 2016/10/6. */ pu ...
- Day One(Beta)
站立式会议 站立式会议内容总结 331 今天:自己摸索了BaseAdapter删除元素的三种方式更新效率逐步上升 明天:学习webkit的webview的使用 442 今天:书籍评价界面,计划删除功能 ...
- impdp导入时卡死分析方法
来源于: http://blog.csdn.net/yfleng2002/article/details/7973997 http://www.cnblogs.com/songling/archive ...
- java 时间操作
设置获取时间日期格式 // 设置日期格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 为 ...