我有一個VB6應用程序(請不要笑),它通過BitBlt和標準VB6繪圖功能進行大量繪圖。我遇到了性能問題(是的,我做了像繪圖到內存這樣的常規技巧)。所以,我決定調查其他繪圖方式,並且已經發布了OpenGL。OpenGL相當於GDI的HatchBrush或PatternBrush?
我一直在做一些嘗試,看起來很簡單,做大部分我想要的;該應用程序大多隻使用非常簡單的繪圖 - 相對較大的純色等2D矩形 - 但我無法找到與HatchBrush或PatternBrush類似的對象。更具體地說,我希望能夠指定一個小的單色像素圖案,選擇一種顏色,並且每當我畫一個多邊形(或其他)時,而不是實心的,讓它自動平鋪該圖案,而不是翻譯或旋轉或傾斜或拉伸,圖案的「開」位以指定顏色顯示,並且圖案的「關」位留下顯示在我正在繪製的區域下繪製的任何圖案。
顯然我可以自己做所有的計算。也就是說,我可以計算所有的線條或像素,或者實際需要繪製的任何東西,然後將它們繪製成線條或像素等等,而不是繪製成多邊形。但有沒有更簡單的方法?就像在GDI中,你只是說「用這個畫筆繪製這個多邊形」?我猜測「紋理」可能能夠完成我想要的功能,但對我來說並不清楚(我對此完全陌生,而且我發現的文檔並不是完全明顯的);但是,我並不清楚這一點。基於多邊形的頂點,紋理可能會傾斜或平移或拉伸模式?而我想要的圖案平鋪。
有沒有辦法做到這一點,或類似的東西,除了蠻力計算的像素/線/任何需要繪製?
在此先感謝您的幫助。
非常感謝! – 2010-06-06 16:17:57
剛試過 - 這正是我想要的。再次感謝! – 2010-06-06 16:37:11