Direct2D 简介

---恢复内容开始---

Direct2D是一个函数库,结构库,类库?

函数被管理在不同的接口里面,要使用接口里面的函数,需要先实例化接口。

 

Direct2D的绘图机制(简单):

第一:获得虚拟画面(呈现器)。

第二:获得画刷。

第三:使用画刷在虚拟画面上画图。

 

其中,画面(资源),画刷(资源),画画(函数)等,都在Direct2D里面产生。并通过相应的接口管理。

 

ID2D1Factory -> ID2D1RenderTarget ->ID2D1Brush 
                                    ->DrawLine                            
                                    ->Fill
                                    ->Draw

 

 

[工厂]->[呈现器]->[画笔]
               ->[画线]
               ->[描画轮廓]
               ->[填充轮廓]
->[呈现文字]

 

 

 

实例化ID2D1Factory接口

template<class Factory>
HRESULT D2D1CreateFactory(
    __in D2D1_FACTORY_TYPE factoryType,//控制是否单线程
    __out Factory **factory
);//暂时了解到的创建方法.
HRESULT hr = S_OK;
hr = D2D1CreateFactory(D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_pDirect2dFactory);

 

实例化ID2D1RenderTarget接口

virtual HRESULT CreateHwndRenderTarget(
  [in]   D2D1_RENDER_TARGET_PROPERTIES *renderTargetProperties,
  [in]   D2D1_HWND_RENDER_TARGET_PROPERTIES *hwndRenderTargetProperties,   //绑定窗口的句柄
  [out]  ID2D1HwndRenderTarget **hwndRenderTarget
) = 0;
RECT rc;
HRESULT hr = S_OK;
GetClientRect(m_hwnd,
&rc); D2D1_SIZE_U size = D2D1::SizeU(   rc.right - rc.left,   rc.bottom - rc.top ); hr = m_pDirect2dFactory->CreateHwndRenderTarget(   D2D1::RenderTargetProperties(),   D2D1::HwndRenderTargetProperties(m_hwnd, size),  &m_pRenderTarget );

 

 

 

 

---恢复内容开始---

Direct2D是一个函数库,结构库,类库?

函数被管理在不同的接口里面,要使用接口里面的函数,需要先实例化接口。

 

Direct2D的绘图机制(简单):

第一:获得虚拟画面(呈现器)。

第二:获得画刷。

第三:使用画刷在虚拟画面上画图。

 

其中,画面(资源),画刷(资源),画画(函数)等,都在Direct2D里面产生。并通过相应的接口管理。

使用Direct2D的函数,必须先获得里面的接口。

 

其中,ID2D1Factory接口是Direct2D的入口。共四种创建方法。

template<class Factory>
HRESULT D2D1CreateFactory(
    __in D2D1_FACTORY_TYPE factoryType,//控制是否单线程
    __out Factory **factory
);//暂时了解到的创建方法.
template<class Factory>
HRESULT D2D1CreateFactory(
    __in D2D1_FACTORY_TYPE factoryType,//控制是否单线程
    __in CONST D2D1_FACTORY_OPTIONS &factoryOptions,
    __out Factory **factory
);
HRESULT WINAPI D2D1CreateFactory(D2D1_FACTORY_TYPE,REFIID,**void)(
  __in   D2D1_FACTORY_TYPE factoryType,//控制是否单线程
  __in   REFIID riid,
  __out  void **ppIFactory
);
HRESULT WINAPI D2D1CreateFactory(
  __in      D2D1_FACTORY_TYPE factoryType,//控制是否单线程
  __in      REFIID riid,
  __in_opt  const D2D1_FACTORY_OPTIONS *pFactoryOptions,
  __out     void **ppIFactory
);

 

 

---恢复内容结束---

转载于:https://www.cnblogs.com/hxml/p/5184669.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值