当前位置: 技术问答>linux和unix
在linux下用过MiniGUI的请进!!!!!!!!!
来源: 互联网 发布时间:2015-05-28
本文导语: 我现在要显示一张320*240的raw图,执行后一点反应都没有,不知是什么原因,我的代码如下: 请大哥帮帮忙,多谢,多谢. static int ShowPicture(HWND hWnd) { BITMAP bitmap,bitmap1; HDC hdc,truehdc; char ImageBuff[230...
我现在要显示一张320*240的raw图,执行后一点反应都没有,不知是什么原因,我的代码如下:
请大哥帮帮忙,多谢,多谢.
static int ShowPicture(HWND hWnd)
{
BITMAP bitmap,bitmap1;
HDC hdc,truehdc;
char ImageBuff[230400]={0};
int fd;
int Img_width=320;
int Img_height=240;
fd=open("/mnt/jj.raw",O_RDWR);
read(fd,ImageBuff,230400 );
hdc=GetClientDC(hWnd);
bitmap.bmWidth=320;
bitmap.bmHeight=240;
bitmap.bmType=BMP_TYPE_NORMAL;
bitmap.bmBitsPerPixel=24;
bitmap.bmBytesPerPixel=3;
bitmap.bmColorKey=0;
bitmap.bmAlpha=0;
bitmap.bmBits=(Uint8 *)ImageBuff;
bitmap.bmPitch=960;
FillBoxWithBitmap( hdc ,10,10,320,240,&bitmap );
ReleaseDC(hdc);
close(fd);
return 0;
}
后来我把一些参数改了,显示出的图不对,是花的。修改如下:
bitmap.bmBitsPerPixel=16;
bitmap.bmBytesPerPixel=2;
bitmap.bmColorKey=0;
bitmap.bmAlpha=0;
bitmap.bmBits=(Uint8 *)ImageBuff;
bitmap.bmPitch=640;
请问这是什么原因,应该如何修改,多谢了。
请大哥帮帮忙,多谢,多谢.
static int ShowPicture(HWND hWnd)
{
BITMAP bitmap,bitmap1;
HDC hdc,truehdc;
char ImageBuff[230400]={0};
int fd;
int Img_width=320;
int Img_height=240;
fd=open("/mnt/jj.raw",O_RDWR);
read(fd,ImageBuff,230400 );
hdc=GetClientDC(hWnd);
bitmap.bmWidth=320;
bitmap.bmHeight=240;
bitmap.bmType=BMP_TYPE_NORMAL;
bitmap.bmBitsPerPixel=24;
bitmap.bmBytesPerPixel=3;
bitmap.bmColorKey=0;
bitmap.bmAlpha=0;
bitmap.bmBits=(Uint8 *)ImageBuff;
bitmap.bmPitch=960;
FillBoxWithBitmap( hdc ,10,10,320,240,&bitmap );
ReleaseDC(hdc);
close(fd);
return 0;
}
后来我把一些参数改了,显示出的图不对,是花的。修改如下:
bitmap.bmBitsPerPixel=16;
bitmap.bmBytesPerPixel=2;
bitmap.bmColorKey=0;
bitmap.bmAlpha=0;
bitmap.bmBits=(Uint8 *)ImageBuff;
bitmap.bmPitch=640;
请问这是什么原因,应该如何修改,多谢了。
|
你的程序没问题,检查一下minigui的minigui.conf文件,是不是设置成支持32位或者24位的。应该是这里出了错。