2017-02-03 24 views
0

我的任務是繪製大量黑白圖像(大小約爲4000x6000像素)的矩形和圓形等許多簡單的幾何圖形,並保存結果將位圖文件和表示每個像素的二進制數組都繪製爲1,否則爲0。我正在使用GDI +(= System.Drawing)。但是,由於這個時間太長,我開始看Direct2D。我很快學會了如何繪製到Win32窗口,並認爲我可以用它來繪製位圖。Direct2D - 繪製直線和圓到大圖像並保存到磁盤

我學會了如何加載圖像並將其顯示在此處:https://msdn.microsoft.com/de-de/library/windows/desktop/ee719658(v=vs.85).aspx 但我無法找到有關如何創建大型ID2D1Bitmap並對其進行渲染的信息。

如何創建一個渲染目標(必須是ID2D1HwndRenderTarget?)與這樣一個新創建的(如何?)大位圖相關聯,然後繪製矩形和圓形並將其保存到文件中?

非常感謝你爲我展示了正確的方向, 于爾根

回答

0

如果我這樣做,我會推出,而不是使用GDI或DirectX調用自己的代碼。二進制位圖的結構非常簡單(打包的位數組),並且一旦實現了設置單個像素的函數和一個繪製單個運行(水平線段)的函數,就可以輕鬆繪製矩形和圓形。

如果您對位打包感覺不舒服,可以改爲使用字節數組(每個字節一個像素),並最終轉換整個圖像。

一旦您瞭解二進制文件I/O操作(您將在Web上找到許多現成功能),將位圖寫入文件也不是什麼大事。


實際上,當您知道位圖文件數據佈局的規格時,根本不需要Windows。