2013-04-07 71 views
0

我已經看到了許多perlin噪聲的例子,但它們都有些不同。在C#中Perlin噪聲圖像的創建

我想知道如何使用perlin noise algorythm在c#中創建圖像。

我想有一個函數,我每次調用它,生成一個新的圖像,並將其放置在一個picturebox中。

我看了perlin噪聲僞代碼,但我感到困惑。我希望能夠用用戶輸入操縱一些屬性。

,但現在我的問題:

如何集成Perlin雜成返回位圖數據(2D)C#功能?

回答

2
 Bitmap bmp = new Bitmap(200, 200); 

     for (int x = 0; x < 200; x++) 
     { 
      for (int y = 0; y < 200; y++) 
      { 
       int calc = (int)(((SimplexNoise.Noise.Generate(x, y)+1)/2)*255); 
       bmp.SetPixel(x, y, Color.FromArgb(calc, calc, calc)); 
      } 
     } 

我用https://code.google.com/p/simplexnoise/,但你可以使用任何噪聲發生器。

我希望這有助於

+0

thx的建議,但是這不是隻是製作噪聲圖?我應該說,我想獲得像灰度圖像這樣的「高度圖」。 – Ace 2013-04-08 00:12:34

+0

是的,這會創建一個灰度噪聲圖。這是你開始的。那麼你必須插入它才能使它窒息。通過將海平面以下的每個值設置爲海平面來放置海平面。等等。因爲我現在很無聊,所以如果你有興趣,我會寫一個能夠爲你做這個課程的課程 – ChronosMOT 2013-04-08 15:43:44

+0

是的,當然,這對我很有幫助!我從來沒有與噪音地圖生成工作,我很想嘗試這種技術。 – Ace 2013-04-09 02:08:00