硬汉嵌入式论坛

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

[emWin] IMAGE_SetDTA()这个函数有人用过吗?

[复制链接]

13

主题

41

回帖

13

积分

初级会员

积分
13
发表于 2016-12-24 18:09:25 | 显示全部楼层 |阅读模式
如题:
    为什么我用这个函数显示图片转换成dta的数据是乱码?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2016-12-25 00:13:03 | 显示全部楼层
没用过这个函数,帮顶。
回复

使用道具 举报

9

主题

42

回帖

69

积分

初级会员

大牛的形成也是时间与技术的积累

积分
69
QQ
发表于 2016-12-27 18:50:06 | 显示全部楼层
不会啊,我的都正常用.给你一个我写的读取函数:
int _ReadBitmapFile(const char* path, char** fbuf)
{
    //FIL * file;   //必须用全局变量   
    U8 result;
    UINT bw = 0;
    GUI_HMEM hMem;
   
    /* 打开文件 */
    result = f_open(file, path, FA_OPEN_EXISTING | FA_READ | FA_OPEN_ALWAYS);
    if (result != FR_OK)
    {
        return 0;
    }
   
    hMem = GUI_ALLOC_AllocZero(file->obj.objsize);
    *fbuf = GUI_ALLOC_h2p(hMem);
            
    /* 读取文件到动态内存 */
    result = f_read(file, (*fbuf), file->obj.objsize, &bw);
    if (result != FR_OK)
    {
        return 0;
    }

    return bw;
}

static char* _acbuffer[5];
static const char* popMeuPath[] = {
    "0:/PHOTO/54x54_dta/Basic.dta",
    "0:/PHOTO/54x54_dta/Calc.dta",
    "0:/PHOTO/54x54_dta/Max.dta",
    "0:/PHOTO/54x54_dta/Delay.dta",
    "0:/PHOTO/54x54_dta/Lunit.dta",
    };

    switch (pMsg->MsgId)
    {
        case WM_INIT_DIALOG:
        //
        // Initialization of 'Image'
        //
        hItem = WM_GetDialogItem(pMsg->hWin, ID_IMAGE_0);
        FileSize = _ReadBitmapFile(popMeuPath[0], &_acbuffer[0]);
        IMAGE_SetDTA(hItem, _acbuffer[0], FileSize);
回复

使用道具 举报

13

主题

41

回帖

13

积分

初级会员

积分
13
 楼主| 发表于 2016-12-28 14:49:28 | 显示全部楼层

回 costar 的帖子

costar:不会啊,我的都正常用.给你一个我写的读取函数:
int _ReadBitmapFile(const char* path, char** fbuf)
{
    //FIL * file;   //必须用全局变量  
    U8 result;
....... (2016-12-27 18:50) 
感谢回复~我用SPI FLASH 存DTA数据,不知道怎么读取出来显示~
回复

使用道具 举报

9

主题

42

回帖

69

积分

初级会员

大牛的形成也是时间与技术的积累

积分
69
QQ
发表于 2016-12-28 15:40:20 | 显示全部楼层
那还不是一样的,知道DTA文件存FLASH的首地址和数据长度,然后把所有数据读出来放到SDRAM中,显示时内存不能释放,窗体结束后再释放内存
回复

使用道具 举报

38

主题

91

回帖

205

积分

高级会员

积分
205
发表于 2018-4-23 19:13:56 | 显示全部楼层
我想知道IMAGE_SetDTA接口能显示什么格式的图片,一直没有找到答案
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117635
QQ
发表于 2018-4-24 01:28:09 | 显示全部楼层
xiaolun217001 发表于 2018-4-23 19:13
我想知道IMAGE_SetDTA接口能显示什么格式的图片,一直没有找到答案

这个是dta格式,也就是流位图,使用BmpCvt就可以生成。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-19 22:00 , Processed in 0.040494 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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