-
大小: 4KB文件类型: .c金币: 1下载: 0 次发布日期: 2021-06-24
- 语言: 其他
- 标签: linux framebuffer terminal C语言
资源简介
在terminal里写framebuffer显示一张32位/24位/16位jpg图片
代码片段和文件信息
/*
* ===========================================================================
*
* Filename: test.c
*
* Description:
*
* Version: 1.0
* Created: 03/26/2012 01:55:10 PM
* Revision: none
* Compiler: gcc
*
* Author: Johann (smith) hcywcx@gmail.com
* Company:
*
* ===========================================================================
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define FB_DEV “/dev/fb0“
void RGB888toRGB32(unsigned int width unsigned char *inbuffer unsigned char * outbuffer);
unsigned short RGB888toRGB565(unsigned char redunsigned char green unsigned char blue);
int fb_pixel(void *fbmem int width int height int x int y unsigned short color);
void RGB888toRGB32(unsigned int width unsigned char *inbuffer unsigned char *outbuffer)
{
unsigned int i;
for (i=0; i < width; i++)
{
/* RED */
outbuffer[(i<<2)+0] = inbuffer[i * 3 + 2];
/* GREEN */
outbuffer[(i<<2)+1] = inbuffer[i * 3 + 1];
/* BLUE */
outbuffer[(i<<2)+2] = inbuffer[i * 3];
/* ALPHA */
outbuffer[(i<<2)+3] = ‘\0‘;
}
}
unsigned short RGB888toRGB565(unsigned char red unsigned char green unsigned char blue)
{
unsigned short B = (blue >> 3) & 0x001F;
unsigned short G = ((green >> 2) << 5) & 0x07E0;
unsigned short R = ((red >> 3) << 11) & 0xF800;
return (unsigned short) (R | G | B);
}
int fb_pixel(void *fbmem int width int height int x int y unsigned short color)
{
if ((x > width) || (y > height)) return (-1);
unsigned short *dst = ((unsigned short *) fbmem + y * width + x);
*dst = color;
return (0);
}
int main(int argc char *argv[])
{
FILE *jpgfile;
int fbdev;
char *fb_device;
unsigned char *fbmem;
unsigned short color;
unsigned char *buffer *outbuffer;
unsigned int s
相关资源
- uboot到linux logo显示不间断 补丁
- UNIX/LINUX编程实践教程的源码
- Linux任务管理器
- linux应用层的华容道游戏源代码
- ubuntu9.10 可加载内核模块和字符设备驱
- MP3文件ID3v2ID3v2APEv2标签读取
- 操作系统实验——虚存管理实验
- linux下的发包工具sendip
- 尚观培训linux许巍关于c 的笔记和讲义
- 尚观培训linux董亮老师关于数据结构的
- linux 线程池源码 c 版
- linux C 电梯程序练习
- linux下用多进程同步方法解决生产者
- Linux 操作系统实验(全)
- Linux From Scratch 中文手册
- linux 网络实验 ftp程序
- Linux命令大全离线版&在线版
- 操作系统共享内存实验
- dos 下运行Linux 命令--gnu_utils
- linux 0.12内核源代码
- linux简易shell C实现
- linux实验报告及心得体会
- 基于GTK的Linux环境下的简易任务管理器
- linux扫雷游戏代码
- CAN Linux驱动代码
- Linux系统教材
- intel 82579LM 网卡驱动Linux系统版 v1.9.
- SA1110处理器掌上电脑液晶显示器设计
- 基于Linux的串口服务器设计
- Windows下访问LINUX的利器-SSH
评论
共有 条评论