本帖最后由 abcdotaabc 于 2014-7-24 16:30 编辑
STM32F429 分3层,Layer2,Layer,BG 可以给不同层着不同的颜色。
背景色 在初始化LTDC的时候可以设置
hltdc.Init.Backcolor.Blue = 0;
hltdc.Init.Backcolor.Green = 0;
hltdc.Init.Backcolor.Red = 0XFF;
背景设置成成红色
测试如果不再初始化层,显示将会是红色。
接下来然后初始化2层,初始化过程中可以单独设置每层的透明度。(透明度就是取值为0-255 ,顶层缓冲是红色 ,取值0的时候是透明,不显示,这样显示颜色取决于下面2层。取值255 ,这个时候不管下面是何种颜色,显示只为顶层缓冲里的红色)
HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 0) ->stm32cubef4对应中间层
HAL_LTDC_ConfigLayer(&hltdc, &pLayerCfg, 1) ->stm32cubef4对应顶层
现在说明透明度的问题 ,使用的是ARGB888 ,A表示透明度,但是目前测试改变每个点的A值 没任何影响。(这里没搞懂)
设置顶层透明为0,中间层200,在中间层画了一条蓝色的线。实验结果是能看到蓝色红色的混合。 |