2012-05-29 88 views
1

我計劃在我計劃製作的程序中對我的數學技能進行一些實驗。我打算用它做一些渲染,但一半的樂趣將是我自己重新創建所有這些3D事物的數學。我知道.net圖形庫很慢,絕對不值得花時間和精力。我一直都在使用XNA,但我寧願不使用那些只是給我所有工具的東西。如何在沒有第三方庫的情況下在VB.net中繪製屏幕

什麼是在VB.net中逐像素繪製到我的表單(或直接到屏幕,如果需要)的方法?我想慢慢地 - 從頭開始​​ - 創建我自己的簡單渲染系統。

謝謝,如果你可以幫忙!我使用的VB.net,但所有的.NET應用的答案,所以我會接受這一切:)

回答

3

你可以創建一個System.Drawing.Bitmap實例,並使用GetPixel(x, y)SetPixel(x, y, color)分別獲取/設置單個像素。

如果你想爲你完成一些基本的事情(畫線,火盆,多邊形等),那麼你可以從這個位圖創建一個System.Drawing.Graphics

獲取/設置像素會非常慢,但我知道這是一種學習體驗,而不是產品,這不是一個真正的問題。使用Graphics會更快一些,如果你不想處理行光柵化或類似的事情,但看起來這些就是你想要解決的問題。如果你真的想要更快,而且仍然是低級別的圖形,那麼你可以使用bitmap.LockBits(...),並直接在內存中與位圖交互。

把它放在你的表格上,只需將它傳遞給PictureBox即可。

相關問題