• 4067阅读
  • 1回复

叠图失败 [复制链接]

上一主题 下一主题
离线有妖气
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2016-01-07
今天发现自己逗比了 想叠一个bmp的图怎么读失败
各位大神是怎么设置的 先后顺序是怎样的
先报下我的设置方式:

SetConfig  
602                      开启了叠图功能
606                     设置水平位置
607                     设置垂直位置
616                     设置文件路劲
总是不显示啊。。是哪一个参数漏设了吗


修身齐家治国平天下
离线aplayer

只看该作者 沙发  发表于: 2016-01-07
APlayer 叠图是允许有 Alpha 通道的,普通位图 Alpha 通道为 0,就会看不到,所以对于普通位图要设置 ColorKey 为 0x00FFFFFF,忽略位图的 Alpha 通道, Color Key 参数号为 609,
下面是 APlayer3Test 中叠图相关代码,注意红色部分:

void OpenPictureFile(void)
{
    // Get all format list
    TCHAR szAllFormat[MAX_PATH];
    lstrcpy(szAllFormat, _T("*.bmp;*.png;*.swf;"));

    // Build filter
    TCHAR szFilter[512];
    TCHAR * pFilter = szFilter;
    wsprintf(pFilter, _T("支持的叠加图片文件(%s)"), szAllFormat);
    pFilter += (lstrlen(pFilter) + 1);
    lstrcpy(pFilter, szAllFormat);
    pFilter += (lstrlen(pFilter) + 1);
    lstrcpy(pFilter, _T("所有文件(*.*)"));
    pFilter += (lstrlen(pFilter) + 1);
    lstrcpy(pFilter, _T("*.*"));
    pFilter += (lstrlen(pFilter) + 1);
    *pFilter = 0; pFilter++;

    // The file path
    TCHAR szFileName[MAX_PATH];
    memset(szFileName, 0, sizeof(szFileName));

    // Select file
    BOOL bResult = SelectFileDlg(g_hWnd, FALSE, _T("选择叠加图片文件"), szFilter,
                                 szFileName, countof(szFileName), NULL, 0);
    if(bResult)
    {
        g_Player.SetConfigInt(CONFIGID_PICTUREENABLE, 1);

        lstrlwr(szFileName);
        if(lstrstr(szFileName, _T(".bmp")) != NULL)
        {
            g_Player.SetConfigStr(CONFIGID_PICTUREBMPFILENAME, szFileName);
            g_Player.SetConfigInt(CONFIGID_PICTURECOLORKEY, 0x00FFFFFF);
        }
        else if(lstrstr(szFileName, _T(".png")) != NULL)
        {
            g_Player.SetConfigStr(CONFIGID_PICTUREPNGFILENAME, szFileName);
            g_Player.SetConfigInt(CONFIGID_PICTURECOLORKEY, 0xFFFFFFFF);
        }
        else if(lstrstr(szFileName, _T(".swf")) != NULL)
        {
            const TCHAR * str = g_Player.GetConfigStr(CONFIGID_PICTURESWFSIZE);
            g_Player.SetConfigStr(CONFIGID_PICTURESWFSIZE, _T("300;300"));

            g_Player.SetConfigStr(CONFIGID_PICTURESWFFILENAME, szFileName);
            g_Player.SetConfigInt(CONFIGID_PICTURECOLORKEY, 0xFFFFFFFF);
        }
    }
}



快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个