2015-04-15 22 views
1

關於如何在Direct2D中從GDI複製HatchStyle的任何建議?Direct2D中的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

@ erno-de-weerd我不希望HatchStyle的繪製時間耗資巨大。我沒有具體的措施,但我只希望它速度很快。 – Sim

回答

0

下面是另一種選擇:創建兩個蒙版,一個用於原色,另一個用於第二色(它應該與第一個蒙版相反)。然後撥打FillOpacityMask兩次。第一次調用將使用第一個蒙版+純色畫筆作爲原色,第二次調用第二個蒙版+純色畫筆作爲第二色。