视频颜色源

注意

[已弃用。 可以从Windows的未来版本中删除此 API。]

 

视频颜色源创建纯色连续视频图像。

类 ID (CLSID) : {0CFDD070-581A-11D2-9EE6-006008039E37}

CLSID 变量名称: CLSID_ColorSource

属性

属性 类型 默认 描述
“Color” DWORD 0 指定要生成的颜色。 请参阅“备注”。

 

注解

视频颜色源与源对象一起使用。 首先,创建新的源对象。 然后,通过调用 IAMTimelineObj::SetSubObjectGUID 方法,将源对象的子对象 GUID 设置为CLSID_ColorSource。

若要设置颜色,请创建 一个 Property Setter 对象,并在时间为零时应用“Color”属性。 此属性的值是一个十六进制数字,格式为 0xAARRGGBB,其中 AA 为 alpha 值, RR 为红色值, GG 为绿色值, BB 为蓝色值。 Alpha 值的范围从0x00 (透明) 到0xFF (不透明) 。 该属性是静态的,必须在时间零时应用。

如果未指定 alpha 值,则默认为零 (透明) 。 在 32 位颜色的视频项目中,这将导致使用 alpha 将视频颜色源呈现为完全透明的过渡或效果。 若要安全,请始终指定 alpha。 例如,不透明黑色 是0xFF000000

下面的代码示例演示如何使用此对象。 有关使用 IPropertySetter 的详细信息,请参阅 设置效果和转换的属性

DWORD           dwYellow = 0xFFFF00;
IAMTimelineObj  *pSource = NULL;

// Create the source.
HRESULT hr = pTimeline->CreateEmptyNode(&pSource, TIMELINE_MAJOR_TYPE_SOURCE);
if (SUCCEEDED(hr))
{
    hr = pSource->SetStartStop(0, 50000000);
}

if (SUCCEEDED(hr))
{
    hr = pSource->SetSubObjectGUID(CLSID_ColorSource);
}

// Create a property setter.
if (SUCCEEDED(hr))
{
    IPropertySetter *pProp = NULL;
    
    hr = CoCreateInstance(CLSID_PropertySetter, NULL, CLSCTX_INPROC_SERVER, 
        IID_PPV_ARGS(&pProp));

    if SUCCEEDED(hr))
    {
        // Set the color.    
        DEXTER_PARAM param;
        DEXTER_VALUE val;

        param.Name = SysAllocString(OLESTR("Color"));
        param.dispID = 0;
        param.nValues = 1;

        if (param.Name == NULL)
        {
            hr = E_OUTOFMEMORY;
        }
        else
        {
            val.v.vt = VT_I4;
            val.v.lVal = dwYellow;
            val.rt = 0;  // Time must be zero.
            val.dwInterp = DEXTERF_JUMP;

            hr = pProp->AddProp(param, &val);
            
            SysFreeString(param.Name);
        }

        if (SUCCEEDED(hr))
        {
            hr = pSource->SetPropertySetter(pProp); 
        }
        pProp->Release();
    }
}

以下示例显示了在上一示例中创建的对象的 XML 表示形式。 在这种情况下,参数元素不支持线性元素,因为对象不支持动态属性:

<clip start="0" stop="5" clsid="{0CFDD070-581A-11D2-9EE6-006008039E37}">
    <param name="Color" value="16776960"/>
</clip>