2013-04-07 93 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