瑞佑液晶控制芯片RA6807系列介绍 (三)软件代码详解 Part.9(PNG透明图片的显示)
RA6807是RA8876M的缩小版,具备RA8876M的所有功能,只将MCU控制接口进行缩减,仅保留SPI-3和I2C接口,其它功能基本相同。
该芯片最大可控制854x600的分辨率,内建64Mbits显存,多个图层,使用起来相当灵活!
继续讲解软件代码,我们使用SPI-3进行演示。参考代码请使用PC端浏览器访问本贴,在标题下方找到下载链接。
9. PNG透明图片的显示
PNG图片是RGB数据外加α透明值,RA6807支持16位的PNG图片即4:4:4:4的数据,比如显示Logo等图标,即可采用PNG格式的图片,实际中请各自发挥。
显示PNG图片,一样是先将数据DMA到显存,然后再通过函数展延成图片,如下图示,PNG数据从FLASH读取出来,DMA到显存(图层二),然后再通过PNG延展命令将线性数据展开为图片:
FLASH先烧录了该图资,头文件.h列表:
演示代码:
unsigned short x,y;
x=150;
y=200;
DMA_24bit(1,0,0,480*0,800,480,800,5760000); //Layer0:主画面底部背景
DMA_24bit(1,0,0,480*1,400,100,400,6528000); //Layer1:读取PNG(ARGB:4444)数据放到该图层
BTE_Alpha_Blending_Pixel_PNG_16bpp(Layer0,canvas_image_width,x,y,Layer1,canvas_image_width,0,0,Layer0,canvas_image_width,x,y,400,100); //将PNG数据延展为图片,贴到Layer1上
上述演示代码中:
第4行实现DMA一张底图到Layer0 (0,0)的坐标;
第5行实现DMA一张PNG图放到Layer1 (0,0)的坐标;
第6行实现将PNG的数据展开为图片,放到Layer0中 (x,y)的坐标位置。
PNG显示函数说明:
下图为实际显示效果:
本章结束,下文继续说明介绍,敬请持续关注!
更多信息请访问论坛:https://bbs.lcdvision.com.cn