久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
關于在嵌入式開發板上顯示一張jpeg圖片
[打印本頁]
作者:
靖康單片機
時間:
2019-4-22 11:03
標題:
關于在嵌入式開發板上顯示一張jpeg圖片
圖片自己上傳,還有圖片名稱,在代碼也要跟著修改
0.png
(6.5 KB, 下載次數: 46)
下載附件
2019-4-22 15:28 上傳
單片機源程序如下:
#include "lcdjpg.h"
static char g_color_buf[FB_SIZE]={0};
static int g_fb_fd;
static int *g_pfb_memory;
/* video_chat.c 畫中畫顯示的坐標 */
volatile int g_jpg_in_jpg_x;
volatile int g_jpg_in_jpg_y;
/****************************************************
*函數名稱:file_size_get
*輸入參數:pfile_path -文件路徑
*返 回 值:-1 -失敗
其他值 -文件大小
*說 明:獲取文件大小
****************************************************/
unsigned long file_size_get(const char *pfile_path)
{
unsigned long filesize = -1;
struct stat statbuff;
if(stat(pfile_path, &statbuff) < 0)
{
return filesize;
}
else
{
filesize = statbuff.st_size;
}
return filesize;
}
unsigned char bcc_check(unsigned char *buf, int n)
{
int i;
unsigned char bcc=0;
for(i = 0; i < n; i++)
{
bcc ^= *(buf+i);
}
return (~bcc);
}
//LCD畫點
void lcd_draw_point(unsigned int x,unsigned int y, unsigned int color)
{
*(g_pfb_memory+y*800+x)=color;
}
int lcd_draw_jpg(unsigned int x,unsigned int y,const char *pjpg_path,char *pjpg_buf,unsigned int jpg_buf_size,unsigned int jpg_half)
{
//初始化LCD
g_fb_fd = open("/dev/fb0", O_RDWR);
if(g_fb_fd<0)
{
printf("open lcd error\n");
return -1;
}
g_pfb_memory = (int *)mmap( NULL, //映射區的開始地址,設置為NULL時表示由系統決定映射區的起始地址
FB_SIZE, //映射區的長度
PROT_READ|PROT_WRITE, //內容可以被讀取和寫入
MAP_SHARED, //共享內存
g_fb_fd, //有效的文件描述詞
0 //被映射對象內容的起點
);
/*定義解碼對象,錯誤處理對象*/
struct jpeg_decompress_struct cinfo;
struct jpeg_error_mgr jerr;
char *pcolor_buf = g_color_buf;
char *pjpg;
unsigned int i=0;
unsigned int color =0;
unsigned int count =0;
unsigned int x_s = x;
unsigned int x_e ;
unsigned int y_e ;
int jpg_fd;
unsigned int jpg_size;
unsigned int jpg_width;
unsigned int jpg_height;
if(pjpg_path!=NULL)
{
/* 申請jpg資源,權限可讀可寫 */
jpg_fd=open(pjpg_path,O_RDWR);
if(jpg_fd == -1)
{
printf("open %s error\n",pjpg_path);
return -1;
}
/* 獲取jpg文件的大小 */
jpg_size=file_size_get(pjpg_path);
/* 為jpg文件申請內存空間 */
pjpg = malloc(jpg_size);
/* 讀取jpg文件所有內容到內存 */
read(jpg_fd,pjpg,jpg_size);
}
else
{
jpg_size = jpg_buf_size;
pjpg = pjpg_buf;
}
/*注冊出錯處理*/
cinfo.err = jpeg_std_error(&jerr);
/*創建解碼*/
jpeg_create_decompress(&cinfo);
/*直接解碼內存數據*/
jpeg_mem_src(&cinfo,pjpg,jpg_size);
/*讀文件頭*/
jpeg_read_header(&cinfo, TRUE);
/*開始解碼*/
jpeg_start_decompress(&cinfo);
if(jpg_half)
{
x_e = x_s+(cinfo.output_width/2);
y_e = y +(cinfo.output_height/2);
/*讀解碼數據*/
while(cinfo.output_scanline < cinfo.output_height)
{
pcolor_buf = g_color_buf;
/* 讀取jpg一行的rgb值 */
jpeg_read_scanlines(&cinfo,(JSAMPARRAY)&pcolor_buf,1);
/* 再讀取jpg一行的rgb值 */
jpeg_read_scanlines(&cinfo,(JSAMPARRAY)&pcolor_buf,1);
for(i=0; i<(cinfo.output_width/2); i++)
{
/* 獲取rgb值 */
color = *(pcolor_buf+2);
color = color | *(pcolor_buf+1)<<8;
color = color | *(pcolor_buf)<<16;
/* 顯示像素點 */
lcd_draw_point(x,y,color);
pcolor_buf +=6;
x++;
}
/* 換行 */
y++;
x = x_s;
}
}
else
{
x_e = x_s+cinfo.output_width;
y_e = y +cinfo.output_height;
/*讀解碼數據*/
while(cinfo.output_scanline < cinfo.output_height )
{
pcolor_buf = g_color_buf;
/* 讀取jpg一行的rgb值 */
jpeg_read_scanlines(&cinfo,(JSAMPARRAY)&pcolor_buf,1);
for(i=0; i<cinfo.output_width; i++)
{
/* 獲取rgb值 */
color = *(pcolor_buf+2);
color = color | *(pcolor_buf+1)<<8;
color = color | *(pcolor_buf)<<16;
/* 顯示像素點 */
lcd_draw_point(x,y,color);
pcolor_buf +=3;
x++;
}
/* 換行 */
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
LED顯示圖片.zip
(2.05 MB, 下載次數: 26)
2019-4-22 11:01 上傳
點擊文件名下載附件
圖片沒上傳,圖片名稱自己修改一下
下載積分: 黑幣 -5
作者:
懿乾昶
時間:
2020-7-28 11:33
可以再發一次嗎?文件損壞了。
作者:
51hei團團
時間:
2020-7-28 14:52
最新版的winrar可以解壓
作者:
weixp
時間:
2022-8-28 01:46
說明不夠詳細
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
亚洲一级黄色
|
看黄色大片
|
欧美日韩在线观看视频
|
亚洲日本中文字幕
|
在线免费毛片
|
99国产在线观看
|
亚洲影院一区
|
欧美日韩少妇
|
国产日韩欧美日韩大片
|
av高清在线
|
日韩毛片视频
|
黄色片中文字幕
|
涩涩久久
|
国产成人三级一区二区在线观看一
|
国产精品免费一区
|
亚洲三级黄色片
|
天堂av片
|
久草视频观看
|
亚洲黄色小视频
|
婷婷综合
|
一级黄色免费
|
国产男女视频
|
成人国产综合
|
国产农村妇女aaaaa视频
|
国产不卡在线观看
|
欧美精品一区在线观看
|
亚洲精品网站在线观看
|
成年人视频免费看
|
日韩一区二区三免费高清在线观看
|
久久艳片www.17c.com
|
天天天天天操
|
日韩中文字幕在线观看
|
欧美日韩中文字幕在线
|
亚洲少妇一区
|
色综合天天综合网国产成人网
|
97在线免费观看视频
|
亚洲黄色在线
|
窝窝午夜精品一区二区
|
自拍偷拍一区二区三区
|
av网页在线观看
|
欧美三级 欧美一级
|