|

楼主 |
发表于 2018-5-22 15:17:42
|
显示全部楼层
本帖最后由 hpdell 于 2018-5-22 16:51 编辑
你好,
原始图片
秒针显示函数
把 使用 BmpCvtST.exe v5.40 软件生成的数据,时钟图片数据写入到 SPI flash 里面,供后续
emWin 使用
软件设置如下:
1、打开需要生成的 argb 图片
2、菜单File-> Save as ...
3、保存类型选择 *.c
4、High color with Alpha(565) 后按保存即可,此时生成的图片数据是按照 3 字节生成的,带透明通道
秒针生成的数据身略 ....
GUI_BITMAP bmsecond_20x130 = {
25, // xSize
157, // ySize
75, // BytesPerLine
24, // BitsPerPixel
NULL, // Pointer to picture data
NULL, // Pointer to palette
GUI_DRAW_BMPA565
};
uint8_t * _rx_buff = NULL;
uint8_t *_acClockBk_buf = NULL;
GUI_MEMDEV_Handle hMem1_ClockPict_miao;
void secondes_init()
{
_acClockBk_buf = mymalloc(SRAMEX,_Colckdial_272x272[3].DataSize );
_rx_buff = _acClockBk_buf;
SPI_ReadBuff((uint8_t *) _rx_buff, _Colckdial_272x272[3].ReadDataAddr, _Colckdial_272x272[3].DataSize); // 从qspi 里面读出数据
hMem1_ClockPict_miao = GUI_MEMDEV_CreateFixed(0, 0,
_Colckdial_272x272[3].SizeX,
_Colckdial_272x272[3].SizeY,
GUI_MEMDEV_HASTRANS,
GUI_MEMDEV_APILIST_16,
GUI_COLOR_CONV_565);
GUI_MEMDEV_Select(hMem1_ClockPict_miao);
_rx_buff = _acClockBk_buf;
bmsecond_20x130.pData = _rx_buff;
GUI_DrawBitmap(&bmsecond_20x130, 0, 0); // 显示透明效果的图片
GUI_MEMDEV_Select(0);
myfree(SRAMEX, _acClockBk_buf);
GUI_MEMDEV_WriteAt(hMem1_ClockPict_miao, 500, 70+245); // 显示秒针
}
|
|