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.

时间: 2024-11-09 00:58:43

fbv (FrameBuffer Viewer)编译指南的相关文章

CyanogenMod 11.0 android 4.4 编译指南

从公司断断续续下载了3天,终于把CM-11.0 的代码给下载下来了,分享一下下载编译rom包的过程. 一 前置条件1 ubuntu 13.04 系统,同时配置好android的编译环境   配置方法详见  http://source.android.com/source/initializing.html 网页 2 下载源码 特别注意: 由于cm-11.0的代码巨大,下载完成 .repo隐藏文件夹下大概有10G,再一git fetch真正的           代码文件,大概有将近30G,然后再

openjdk 完全编译指南

从openjdk.java.net下载openjdk的软件包,你就获得了所有相关的源码. 强烈建议首先仔细看懂 README-builds.html 指南. 在执行 make all 之前,首先要 执行make sanity 来检验依赖是否满足,你最好解决所有的的error  和 warning. 编译需要的开发环境(包含了笔者使用的版本号): openjdk 1.7.0 gcc 4.7.3 gnu make 3.8.1 ant 1.8.2 zip unzip cups alsa XRender

go for android编译指南

去年12月中旬,go已经正式支持android平台!虽然,目前只是初步支持,相应的开发还在紧罗密鼓的进行中.但是仍然挡不住试用一把的冲动.目前go的代码是通过java的jni接口来调用的,go的代码会被编译成so动态库,会在编译的时候包含到apk中.下面来看看怎么在android平台来编译go的代码 . 先从下载的连接下载代码: https://github.com/golang/mobile 由于go for android的开发环境搭建目前比较麻烦,go for android的开发者已经为

Linux kernel编译指南

最近帮一个项目编译内核,特别学习了一下,记下了过程.如果问题,可以及时联系我 编译命令 1.清理工作目标 make clean: 删除编译中间文件,但是保留配置 make mrproper:删除包括配置文件的所有构建文件 make distclean:执行mrproper所做的一切,并删除备份文件 2.配置内核 make menuconfig:文本图形方式配置内核 make oldconfig:基于当前的.config文件提示更新内核 make defconfig:生成默认的内核配置 make

HoloLens开发手记- SpectatorView for iOS编译指南

微软前两天发布了HoloLens 2,给MR开发带来了新的希望,全面的性能和显示效果提升,让人期待. 去年推出的预览版的全新SpectatorView for iOS解决方案,这允许我们直接使用带ARKit的iOS设备实现HoloLens MR场景的共享,以及第三方观察视角,对于演示也是非常方便好用的.效果如下: 本篇文章主要介绍一下怎么将配置好的SpectatorView Unity项目部署到iPhone上. 配置Unity场景 打开已配置好的Unity3D场景,选中SpectatorView

Boost下载安装编译配置使用指南(含Windows和Linux

理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先总结一下Windows系统.一.下载首先从boost官方主页附链接下载最新版boost安装包(目前最新版是boost_1_45_0.7z).二.安装将boost安装包解压至本地目录,如:E:\SDK\boost_1_45_0.因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boo

Boost下载安装编译配置使用指南

理论上,本文适用于boost的各个版本,尤其是最新版本1.46.0:适用于各种C++编译器,如VC6.0,VS2003,VS2005,VS2008,gcc,C++ Builder等. 一.下载 首先从boost官方主页http://www.boost.org下载最新版boost安装包(目前最新版是1.46.0).因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boost专用的编译辅助工具bjam.网上很多人都提倡直接使用boost安装包中附带的bjam源码来编译出bjam,但

VS2012中使用CEGUI项目发布到XP平台的问题(核心方法就一句话。“你项目使用的所有外部依赖库都用/MT编译。”)

接着上一篇文章,详细说说如何把一个带CEGUI的项目发布到XP平台. 这个问题纠缠了我好几天.这里把详细解决思路记下来.有同样问题的朋友可以少走很多弯路. 核心方法就一句话.“你项目使用的所有外部依赖库都用/MT编译.” 1.准备. 首先你要具备如下工具:CEGUI源码:FreeType源码:Pcre源码:CMake工具.我会在下文说明原因. 各个开源库的版本号,请参考你的CEGUI引用的各自的头文件分别下载. FreeType开源库主页:http://sourceforge.net/proje

ffmpeg与H264编码指南

ffmpeg与H264编码指南 注:本文属于转载译文,原文地址:http://blog.csdn.net/vblittleboy/article/details/8982857. 英文地址:https://trac.ffmpeg.org/wiki/Encode/H.264.内容有一定出入,但是可以借鉴学习. x264是一个 H.264/MPEG4 AVC 编码器,本指南将指导新手如何创建高质量的H.264视频. 对于普通用户通常有两种码率控制模式:crf(Constant Rate Factor