在 Win32 API 的 D2d1_3.h 头文件中,ID2D1DeviceContext2 接口是 Direct2D 中的设备上下文接口的扩展版本。以下是 ID2D1DeviceContext2 接口的定义:
interface ID2D1DeviceContext2 : public ID2D1DeviceContext1
{
public:
    STDMETHOD(CreateColorContextFromDxgiColorSpace)(
        DXGI_COLOR_SPACE_TYPE colorSpace,
        _Outptr_ ID2D1ColorContext** colorContext
        ) PURE;

    STDMETHOD(CreateColorContextFromSimpleColorProfile)(
        _In_reads_(profileSize) const void* profile,
        UINT32 profileSize,
        _Outptr_ ID2D1ColorContext** colorContext
        ) PURE;

    STDMETHOD(CreateColorContextFromWicColorContext)(
        _In_ IWICColorContext* wicColorContext,
        _Outptr_ ID2D1ColorContext** colorContext
        ) PURE;

    STDMETHOD(CreateMultithreadProtected)(_Outptr_ ID2D1MultithreadProtected** multithreadProtected) PURE;

    STDMETHOD(Clear)(
        _In_opt_ CONST D2D1_COLOR_F* clearColor,
        _In_opt_ CONST D2D1_RECT_F* tag1,
        _In_opt_ CONST D2D1_RECT_F* tag2
        ) PURE;
};

这个接口继承自 ID2D1DeviceContext1 接口,增加了一些新的方法,用于支持额外的功能。以下是其中几个新方法:

  •  CreateColorContextFromDxgiColorSpace: 根据 DXGI 颜色空间类型创建颜色上下文。

  •  CreateColorContextFromSimpleColorProfile: 根据简单的颜色配置文件创建颜色上下文。

  •  CreateColorContextFromWicColorContext: 根据 WIC 颜色上下文创建颜色上下文。

  •  CreateMultithreadProtected: 创建一个支持多线程的对象。

  •  Clear: 清空设备上下文的内容,可选择性地指定清空颜色和标签矩形。


这些方法提供了在设备上下文中处理颜色管理、多线程和清空内容的功能。如有需要,建议查阅 Microsoft 的官方文档以获取详细的使用说明和示例代码。请确保你使用的是较新版本的 Windows SDK 和相关的头文件。


转载请注明出处:http://www.zyzy.cn/article/detail/25349/Win32 API/D2d1_3.h/ID2D1DeviceContext2