CImagePalette.PreparePalette 方法
该方法 PreparePalette
根据拥有筛选器中的媒体类型设置调色板。
语法
HRESULT PreparePalette(
const CMediaType *pmtNew,
const CMediaType *pmtOld,
LPSTR szDevice
);
parameters
-
pmtNew
-
指向新媒体类型的指针。 格式块必须是 VIDEOINFOHEADER 结构。
-
pmtOld
-
指向旧媒体类型的指针。 如果首次设置媒体类型,此参数可以是空类型,没有格式块。 否则,格式块必须是 VIDEOINFOHEADER 结构。
-
szDevice
-
指向包含显示设备名称的字符串的指针,由 GDI EnumDisplayDevices 函数返回。 若要使用主显示设备,请将此参数设置为 NULL。
返回值
如果更新了调色板,则返回S_OK;如果未更改调色板,则返回S_FALSE。
注解
如果需要更新调色板,此方法将执行以下操作:
- 调用 CImagePalette::MakePalette 创建新的逻辑调色板。
- 将EC_PALETTE_CHANGED事件发送到筛选器Graph管理器。
- 在 CBaseWindow 对象上调用 CBaseWindow::SetPalette。
- 在 CDrawImage 对象上调用 CDrawImage::IncrementPaletteVersion。
要求
要求 | Value |
---|---|
标头 |
|
库 |
|