2013-06-13 162 views
-1

我正在从MSDN学习win32 API。我遇到了这个话题(http://msdn.microsoft.com/en-us/library/windows/desktop/ff684180(v=vs.85).aspx),它谈到了direct2d中的颜色。但是RGB代码只有8种主要颜色。什么是direct2d中每种可能颜色的RGB代码?direct2d中颜色的RGB值

在此先感谢。

+0

典型的视频卡可以渲染1670万种实际颜色。 D2D颜色使用浮点,所以理论上这个范围是浮点的分辨率,但是任何给定的理论颜色都将被映射到显示设备可以处理的最接近的实际颜色。无论哪种方式,所有可能的颜色的完整列表并不真实。 –

回答

0

另外,值得注意的是,Direct2D中的颜色以rgba格式表示为1.0标准化的浮点值。

例如:

ID2D1RenderTarget * pRT; // passed in or created. 
// Of course the code below should be between pRT->BeginDraw(), pRT->EndDraw() calls. 

ID2D1SolidColorBrush* pbr = NULL; 
// red, blue, green, alpha are float values from 0.f to 1.f 
D2D1_COLOR_F colr = D2D1::ColorF(red, green, blue, alpha)); 

pRT->CreateSolidColorBrush(colr, &pbr); 

// now you have a color you can use for rendering 
D2D1_RECT_F rcF = D2D1::RectF(10.f, 10.f, 650.f, 490.f); 
pRT->FillRectangle(rcF, pBrush);