Direct2D中的HatchStyle

时间:2015-04-15 13:18:10

标签: direct2d

有关如何在Direct2D中从GDI复制HatchStyle的任何建议吗?

https://msdn.microsoft.com/en-us/library/windows/desktop/dd144966%28v=vs.85%29.aspx

考虑什么:

1)线条的颜色必须与画笔的颜色相同,就像在GDI中一样 2)必须具有高性能

到目前为止,这是我的潜在解决方案:
1)使用ID2D1BitmapBrush,我在其上绘制具有指定颜色的线条。
这意味着我需要在每次颜色更改或HatchStyle更改时重新创建画笔。在指定区域绘制BitmapBrush并利用BitmapBrush ExtendMode WRAP在X和Y中重复模式。

2)在具有指定颜色的区域上逐个绘制所有线条。

1 个答案:

答案 0 :(得分:0)

这是另一个选择:创建两个蒙版,一个用于主色,另一个用于二色(应该只是第一个蒙版的倒数)。然后拨打FillOpacityMask两次。第一个调用将使用第一个蒙版+一个纯色画笔作为主色,第二个调用是第二个蒙版+纯色画笔作为二次色。