direct2d(以下簡稱d2d)是乙個 使用者模式的庫,基於 d3d 10.1 api(從 win8開始,d2d 基於 d3d 11.1)。所以 d2d 可以提供 gpu 硬體加速。d2d架構圖:
第一步:標頭檔案
#include第二步:建立乙個 id2d1 工廠
1 id2d1factory *m_pd2dfactory ;第三步:建立 render target2 hr = d2d1createfactory (d2d1_factory_type_single_threaded, & m_pd2dfactory);
1第四步:建立筆刷//obtain the size of the drawing area.
2rect rc ;
3 getclientrect(hwnd , &rc );45
//create a direct2d render target
6 id2d1hwndrendertarget * prt =null ;
7 hresult hr = pd2dfactory->createhwndrendertarget(
8d2d1::rendertargetproperties (),
9d2d1::hwndrendertargetproperties (
10hwnd,
11d2d1::sizeu (
12 rc. right -rc. left,
13 rc. bottom -rc. top)
14),
15 &prt
16 );
1 id2d1solidcolorbrush * pblackbrush =null ;2if第五步:畫矩形(succeeded (hr ))
1 prt->begindraw();第六步(最後):釋放資源23 prt->drawrectangle(
4d2d1::rectf(
5 rc.left + 100.0f
,6 rc.top + 100.0f
,7 rc.right - 100.0f
,8 rc.bottom - 100.0f),9
pblackbrush);
1011 hresult hr = prt->enddraw();
1(有機會再補充完整)saferelease(prt);
2saferelease(pblackbrush);
3 saferelease(pd2dfactory);
Direct2D 快速入門
本文為msdn direct2d 部分譯文,歡迎指點!原文 direct2d 是用於建立2d圖形的本地即時模式應用程式介面。本文介紹如何在典型的win32應用程式中運用direct2d進行繪製。switch message return 0 處理其它訊息.要用 gdi 繪製乙個矩形,需要捕獲 wm ...
Direct2D 中層概述
物件表示,它使應用程式可以操作一組繪製操作。可通過將層 壓入 呈現器目標的方式來使用層。呈現器目標執行的後續繪製操作將被指引到壓入的層。在處理完該層之後,可從呈現器目標 彈出 該層,這可將該層的內容重新復合到呈現器目標中。雖然層提供了一種用於產生有趣效果的強大呈現方法,但在應用程式中過多使用層可能會...
Direct2D實現文字映象陰影
一 實現思路 先繪製文字陰影部分,繪製陰影文字後應用3dtransform與高斯模糊特效,最後再正常繪製一次文字主體。二 實現 hr m pdwritefactory createtextformat sc fontname,null,dwrite font weight normal,dwrite...