初级会员

- 积分
- 103
- 金钱
- 103
- 注册时间
- 2012-12-4
- 在线时间
- 14 小时
|
请教原子哥:
现在可以显示24位bmp图片,据说32位的bmp图片带有alpha通道,目标想要实现透明化背景,
问题:我用ps把一个png图片转成32位bmp图片,上机运行,发现还是有白色背景,
读出的数据是:B:0xFF;G:0XFF;R:0XFF;A:0X00。(有颜色和无颜色时,A都是0)
代码:
case 32: //32bit增强型真彩色
for(i=0;i<height; i++) { //+1
for(j=0; j<l_width; j++) { //将一行数据全部读入
f_read(&bmpfsrc,pColorData+j,1,&read_num);
}
ili9320_SetWindows(x,y+height-1-i,x+width, y+height-i); //准备写一行数据到屏
for(j=0;j<width;j++) { //一行有效信息
k = j*4; //一行中第K个像素的起点
gray = pColorData[k+3];
red = pColorData[k+2];
green = pColorData[k+1];
blue = pColorData[k];
ili9320_WriteData(RGB24TORGB16(red,green,blue));
}
}
break;
请教:
1、32的位图显示原理上跟24位图片显示一样吗?
2、在程序中该怎样实现透明背景?
以上,求解,小弟不胜感激!! |
|