如何创建位图画笔
若要创建位图画笔,请使用 ID2D1RenderTarget::CreateBitmapBrush 方法并指定位图画笔属性。 某些重载使你能够指定画笔属性。 下面的代码演示如何创建一个位图画笔来填充正方形,并创建一个纯黑色画笔来绘制方形的轮廓。 代码生成以下屏幕截图中显示的输出。
注意
从 Windows 8 开始,可以使用 ID2D1DeviceContext 接口上的 CreateBitmapBrush 方法创建 ID2D1BitmapBrush1 而不是 ID2D1BitmapBrush。 ID2D1BitmapBrush1 将高质量缩放模式添加到位图画笔。
声明 ID2D1BitmapBrush 类型的变量。
ID2D1BitmapBrush *m_pBitmapBrush;
从资源加载位图。 有关详细信息,请参阅 如何从资源加载位图。
// Create the bitmap to be used by the bitmap brush. if (SUCCEEDED(hr)) { hr = LoadResourceBitmap( m_pRenderTarget, m_pWICFactory, L"FERN", L"Image", &m_pBitmap );
选择扩展模式 (D2D1_EXTEND_MODE) 和内插模式 (位 图画笔D2D1_BITMAP_INTERPOLATION_MODE) ,然后调用 CreateBitmapBrush 方法来创建画笔,如以下代码所示。
hr = m_pRenderTarget->CreateBitmapBrush( m_pBitmap, &m_pBitmapBrush );
相关主题