资源简介
arm下图片显示,jpeg,bmp,png三种图片
libjpeg 解析jpeg
libpng 解析png
可以通过framebuffer显示
代码片段和文件信息
#include
#include
#include
#include
#include “../framebuffer/fb.h“
#include “./bmp.h“
#define FB_DEV “/dev/fb0“
unsigned char *fbaddr;
int main(int argcchar **argv)
{
int fbdev;
char *fb_device;
unsigned char *fbmem;
unsigned int screensize;
unsigned int fb_width;
unsigned int fb_height;
unsigned int fb_depth;
if(argc < 2)
{
printf(“useage : need picture path\n“);
return 0;
}
/*open framebuffer device*/
if ((fb_device = getenv(“frameBUFFER“)) == NULL)
fb_device = FB_DEV;
fbdev = fb_open(fb_device);
/* get status of framebuffer device*/
fb_stat(fbdev &fb_width &fb_height &fb_depth);
/* map framebuffer device to shared memory*/
screensize = fb_width * fb_height * fb_depth / 8;
fbmem = fb_mmap(fbdev screensize);
fbaddr = fbmem;
printf(“begin to decode the png file-----------\n“);
load_bmp_image(argv[1]fb_widthfb_height1280);
fb_munmap(fbaddrscreensize);
fb_close(fbdev);
return (0);
return 0;
}
int load_bmp_image(char* filepathint fb_wint fb_hint p_xint p_y)
{
int fd ;
int row col ;
int color;
char *p = NULL ;
int ret ;
struct bmp_header header ;
char *buffer;
fd = open(filepath O_RDONLY);
if(-1 == fd)
{
perror(“open bmp file fail“);
return -2 ;
}
//读出bmp文件头的数据
ret = read(fd &header sizeof(struct bmp_header));
if(ret == 0)
{
printf(“%s:read the bmp header error\n“__func__);
close(fd);
return -1;
}
printf_bmp_header(header);
buffer = (char*)malloc(sizeof(char)*(header.ImageSize));
if(buffer == NULL)
{
printf(“%s:malloc the buffer error \n“__func__);
close(fd);
return -1;
}
ret = read(fd buffer header.ImageSize);
if(ret == 0)
{
printf(“%s:read the bmp header error\n“__func__);
close(fd);
return -1;
}
close(fd);
for(row = header.ImageHight -1 ; row >= 0 ; row--)
{
for(col = 0 ; col < header.ImageWidth ; col++)
{
p =( buffer+(row*header.ImageWidth + col)*3);
color = RGB888toRGBT((unsigned char)(*(p+2))
(unsigned char)(*(p+1))
(unsigned char )(*(p)));
fb_pixel(fbaddrfb_wfb_hcol+p_xheader.ImageHight-row-1+p_ycolor);
}
}
return 0 ;
}
void printf_bmp_header(struct bmp_header header )
{
//以下是bmp图的相关数据
printf(“ Signatue[0] : %c \n “ header.Signatue[0] );
printf(“ Signatue[1] : %c \n “ header.Signatue[1] );
printf(“ FileSize : %d \n “ header.FileSize );
printf(“ Reserv1 : %d \n “ header.Reserv1 );
printf(“ Reserv2 : %d \n “ header.Reserv2 );
printf(“ FileOffset : %d \n “ heade
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-12-22 09:29 picture-fr
目录 0 2017-12-22 07:36 picture-fr
文件 19160 2017-12-20 01:04 picture-fr
文件 58589 2017-12-20 00:52 picture-fr
文件 19160 2017-12-20 00:51 picture-fr
文件 64 2017-12-15 06:05 picture-fr
文件 7569 2017-12-15 07:05 picture-fr
文件 20720 2017-11-02 09:33 picture-fr
文件 523 2017-11-10 01:08 picture-fr
文件 6713 2017-12-12 02:32 picture-fr
文件 786 2017-12-12 02:38 picture-fr
文件 49286 2017-09-25 00:49 picture-fr
文件 14925 2017-09-23 09:36 picture-fr
文件 14580 2017-09-23 09:36 picture-fr
文件 1757 2017-09-23 09:36 picture-fr
文件 31 2017-11-02 09:29 picture-fr
目录 0 2017-12-20 01:12 picture-fr
文件 3807 2017-12-20 01:12 picture-fr
文件 1152054 2017-12-11 06:32 picture-fr
文件 54 2017-12-11 06:31 picture-fr
文件 828 2017-12-11 07:20 picture-fr
文件 13864 2017-12-20 01:12 picture-fr
文件 4083 2017-12-11 07:00 picture-fr
目录 0 2017-12-16 09:19 picture-fr
文件 5839 2017-12-16 09:06 picture-fr
文件 63 2017-12-11 02:19 picture-fr
文件 96239 2017-11-21 07:29 picture-fr
文件 7564 2017-12-09 07:58 picture-fr
文件 22845 2017-12-09 07:58 picture-fr
文件 16262 2017-11-21 07:29 picture-fr
文件 144149 2017-12-09 07:58 picture-fr
............此处省略3个文件信息
- 上一篇:httpclient4.3 封装工具类
- 下一篇:加密狗最新驱动含win10
相关资源
- 基于ARM 实现简单的电子相册功能
- linux按键测试,获取按键状态
- Pycharm汉化解决不能设置的问题.zip
- STM32模拟SPi.rar
- ARM6818电子钢琴
- 论文研究-基于ARM的嵌入式网络视频监
- 嵌入式系统/ARM技术中的基于ARM的新型
- RN7213是ARM Cortex-M0内核的电表SOC芯片带
- RN7213是ARM Cortex-M0内核的电表SOC芯片带
- 基于ARM处理器的CAN-Ethernet通信模块实
- Keil_ARM_MDK 5.15 支持5.1以上MDK专业版的
- 嵌入式LINUX基础教程中文第2版 --百度
- IAR Generic Keygen
- ARM开发板LPC2132电路PCB图与SCH原理图
- 基于Ucos的多任务实现
- arm开发流程、最小系统、启动文件详
-
VNC viewer for em
bedded WIN CE system (在嵌 - GPS数据接收与提取流程图
- s3c2440下LED灯驱动的源代码
- 现代信号处理练习-古典功率谱、现代
- ADS1259源程序
- pycharm各种主题包括仿sublime的monokai主
- SM_ARMV4I_V2.1.zip
- ARM Mini2440 电路图.
- IAR for ARM 5.3破解文件
- exfat_new-ARM平台驱动源码包
- 支持ucos的数据库及移植
-
Jli
nk unlock for F1,解锁F1系列的ARM芯 - EWARM-CD-7804-12495
- ARM裸机实验之用按键控制LED灯
评论
共有 条评论