硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2467|回复: 4
收起左侧

[LTDC] V7-035_DMA2D功能测试例程如何修改以ARGB8888格式显示图片?

[复制链接]

17

主题

132

回帖

183

积分

初级会员

积分
183
发表于 2021-1-30 20:39:11 | 显示全部楼层 |阅读模式
V7-035_DMA2D功能测试例程显示图片正常,但默认是将ARGB8888格式转换为RGB565输出,图片颜色过度不自然,想改为ARGB8888输出,将
bsp_tft_h7.c中语句改为pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888;LCD显存每页设为4M,显示用如下程序
    _DMA2D_DrawAlphaBitmap((void *)(SDRAM_LCD_BUF1 + g_LcdWidth*20*2 + 20*2), /* 显示起始地址(176, 20) */  
                                           (void *)_acalarm,                                   /* 位图地址 */
                                           373,                                                /* 位图长 */
                                           500,                                                /* 位图高 */
                                           0,                                                  /* 位图行偏移 */
                                           g_LcdWidth-373,                                     /* 目标区行偏移 */
                                           LTDC_PIXEL_FORMAT_ARGB8888);                          /* 目标区颜色格式 */

编译后图片显示不正常,图片时按教程制作的ARGB8888 格式位图 ,不知还需要修改那些?
原图:
11.jpg

RGB565输出:
12.jpg

ARGB8888输出:
13.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2021-1-31 07:54:50 | 显示全部楼层
先刷个背景色,注意背景也要是ARGB8888格式的刷,我这里直接DMA2D刷新。

        /* 第1个图:使用DMA2D刷色块 ##############################################################*/
        _DMA2D_Fill((void *)(SDRAM_LCD_BUF1 +0 + 0), /* 显示起始地址(24, 20) */  
                800,                                               /* 色块长 */  
                            480,                                               /* 色块高 */
                            0,                                    /* 色块行偏移 */
                            0xFFFF0000,                                            /* 色块颜色 */
                            LTDC_PIXEL_FORMAT_ARGB8888);                         /* 色块颜色格式 */                        

        /* 第2个图:显示ARGB8888位图 ##############################################################*/
    _DMA2D_DrawAlphaBitmap((void *)(SDRAM_LCD_BUF1 + g_LcdWidth*20*4 + 176*4), /* 显示起始地址(176, 20) */  
                                           (void *)_aclufei,                                 /* 位图地址 */
                                           128,                                                /* 位图长 */
                                           128,                                                /* 位图高 */
                                           0,                                                  /* 位图行偏移 */
                                           g_LcdWidth-128,                              /* 目标区行偏移 */
                                           LTDC_PIXEL_FORMAT_ARGB8888);    /* 目标区颜色格式 */
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2021-1-31 08:03:35 | 显示全部楼层
2.png
回复

使用道具 举报

17

主题

132

回帖

183

积分

初级会员

积分
183
 楼主| 发表于 2021-1-31 15:24:18 | 显示全部楼层
谢谢楼主,测试正常了。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107128
QQ
发表于 2021-1-31 17:36:26 | 显示全部楼层
rgzdb 发表于 2021-1-31 15:24
谢谢楼主,测试正常了。

好的,后面还有什么问题再交流。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-19 18:01 , Processed in 0.298717 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表