【问题标题】:HatchStyle in Direct2DDirect2D 中的 HatchStyle
【发布时间】:2015-07-17 04:37:32
【问题描述】:

关于如何在 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) 在指定颜色的区域上,将所有线条一一绘制。

【问题讨论】:

  • “必须表现出色”是什么意思?
  • @erno-de-weerd 我不希望 HatchStyle 的绘制时间成本很高。我没有具体的措施,但我只是希望它快。

标签: direct2d


【解决方案1】:

这是另一种选择:创建两个蒙版,一个用于主色,另一个用于辅助色(应该与第一个蒙版相反)。然后拨打FillOpacityMask 两次。第一次调用将使用第一个蒙版+一个纯色画笔作为原色,第二个调用是第二个蒙版+纯色画笔作为次要颜色。

【讨论】:

    猜你喜欢
    • 2011-04-19
    • 2013-04-26
    • 2012-06-01
    • 2014-06-05
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 2016-05-08
    • 1970-01-01
    相关资源
    最近更新 更多