一直以来从事基于海思开发板的开发,但是每次想到“屏幕截图",真的让人非常惭愧!
参考网上的代码修改了下:
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include <malloc.h>
#include <linux/fb.h>
#include <jpeglib.h>
#include <jerror.h>
#include <errno.h>
extern int errno;
/*RGB565转RGB24函数
*@rgb565: 指向存放rgb565数据的起始地址
*@rgb24:指向存放rgb24数据的起始地址
*@width:屏幕(分辨率)的宽度
*@height:屏幕(分辨率)的高度
*/
int RGB565_to_RGB24(unsigned char *rgb565, unsigned char *rgb24, int width, int height)
{
int i;
int whole = width*height;
unsigned char r, g, b;
unsigned short int *pix565;
pix565 = (unsigned short int *)rgb565;
for(i = 0;i < whole;i++)
{
r = ((*pix565)>>11)&0x1f;
*rgb24 = (r<<3) | (r>>2);
rgb24++;
g = ((*pix565)>>5)&0x3f;
*