有关如何在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)在具有指定颜色的区域上逐个绘制所有线条。
答案 0 :(得分:0)
这是另一个选择:创建两个蒙版,一个用于主色,另一个用于二色(应该只是第一个蒙版的倒数)。然后拨打FillOpacityMask
两次。第一个调用将使用第一个蒙版+一个纯色画笔作为主色,第二个调用是第二个蒙版+纯色画笔作为二次色。