2

我想将对象绘制为部分透明,但我不知道如何。我正在使用 MSDN 和 C++ 编码。

以下代码是我如何绘制一个常规矩形,但我想绘制一个透明矩形。

VOID DrawingObject::Draw()
{
    ID2D1HwndRenderTarget *m_pRenderTarget;
    m_pRenderTarget->FillRectangle(RectF(10, 10, 20, 20),
        m_pD2DDriver->GetBrush(static_cast<DrawingColor>(m_uColorIndex))
        );
}

非常感谢任何帮助或指导。

4

1 回答 1

4

看看画笔界面。您可以创建一个画笔并使用它SetOpacity来创建一个透明画笔以发送到矩形。

您也可以直接使用该D2D1::ColorF(red,green,blue,alpha)功能创建颜色。alpha论据是透明度 。0是完全透明的,而1不是不透明的。

如果您不知道如何使用它,此链接包含有关如何使用ID2D1 画笔的代码的精彩示例。以下是该页面的一些示例代码。

ID2D1SolidColorBrush *pGridBrush = NULL;
hr = pCompatibleRenderTarget->CreateSolidColorBrush(
    D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
    &pGridBrush
    );
于 2013-08-16T17:56:26.923 回答