如何在C++中使用DirectX绘制透明矩形
How do I draw transparent Rectangles using DirectX in C++?
我想绘制部分透明的对象,但我不知道如何绘制。我正在使用MSDN并使用C++进行编码。
下面的代码是我如何绘制一个规则矩形,但我想绘制一个透明矩形。
VOID DrawingObject::Draw()
{
ID2D1HwndRenderTarget *m_pRenderTarget;
m_pRenderTarget->FillRectangle(RectF(10, 10, 20, 20),
m_pD2DDriver->GetBrush(static_cast<DrawingColor>(m_uColorIndex))
);
}
非常感谢任何帮助或指导。
看看Brush接口。可以创建笔刷,然后使用SetOpacity
创建透明笔刷以发送到矩形。
您也可以直接使用D2D1::ColorF(red,green,blue,alpha)
函数创建颜色。alpha
参数是透明度。CCD_ 4是完全透明的,而CCD_。
如果您不知道如何使用它,此链接包含关于如何使用ID2D1 Brushes的精彩示例和代码。下面是该页面中的一些示例代码。
ID2D1SolidColorBrush *pGridBrush = NULL;
hr = pCompatibleRenderTarget->CreateSolidColorBrush(
D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
&pGridBrush
);
相关文章:
- 是否可以使用 DirectX 3D 11 绘制由三角形组成的圆?
- 如何在 DirectX 11 中绘制/渲染不同的形状
- 如何在 DirectX 11 中使用曲面细分绘制虚线图案 3D 线
- DirectX 使用 Draw Primitive 绘制多个矩形
- DirectX不绘制任何内容
- DirectX 11:绘制调用金额
- 在DirectX 11(C++)中绘制线条的最简单方法
- Windows 8 现代 UI 应用程序和 DirectX.如何绘制文本
- DirectX:从结构数组绘制多维数据集
- 如何在 DirectX 9 中使用 D3DXSprite 尽可能快地绘制 D3DXFont
- 如何在 DirectX 9 中不使用 D3DX9 绘制线条和字体?
- 在透明窗口中使用directx 9绘制
- 如何在 DirectX 中绘制 2D 几何体和 3D 对象?(D3D9)
- 在 DirectX 9/c++ 中绘制可读文本
- DirectX::SpriteFont/SpriteBatch 阻止绘制 3D 场景
- 使用 directX 10 绘制大型精灵时性能低下
- 如何在C++中使用DirectX绘制透明矩形
- 在DirectX 9中使用可扩展数组绘制三角形
- 是否可以在directx dc/buffer上使用opengl进行绘制?
- Win32窗口冻结后,第一次绘制(directx 11)