Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 使用BuffereImage无法正确显示单工噪声_Scala_2d_Bufferedimage_Procedural Generation_Simplex Noise - Fatal编程技术网

Scala 使用BuffereImage无法正确显示单工噪声

Scala 使用BuffereImage无法正确显示单工噪声,scala,2d,bufferedimage,procedural-generation,simplex-noise,Scala,2d,Bufferedimage,Procedural Generation,Simplex Noise,在做了很多工作之后,我终于得到了一个可以工作的单纯形噪声版本,但在使用BuffereImage时,我似乎无法让它正确地记录和显示。每当我尝试创建一个图像时,它都会以黑色和白色的条纹或圆环结束,而不是平滑的色调变化,这正是我所期望的。我猜有些简单的事情我没有做,但就我的一生而言,我找不到它 这是我的代码(其中相当一部分来自Stefan Gustavson的Simplex noise实现): 导入java.awt.image.buffereImage 导入javax.imageio.imageio

在做了很多工作之后,我终于得到了一个可以工作的单纯形噪声版本,但在使用BuffereImage时,我似乎无法让它正确地记录和显示。每当我尝试创建一个图像时,它都会以黑色和白色的条纹或圆环结束,而不是平滑的色调变化,这正是我所期望的。我猜有些简单的事情我没有做,但就我的一生而言,我找不到它

这是我的代码(其中相当一部分来自Stefan Gustavson的Simplex noise实现):

导入java.awt.image.buffereImage
导入javax.imageio.imageio
导入java.io.xml文件
导入scala.util.Random
目标图像测试{
def main(参数:数组[字符串]):单位={
val image=generate(102410241)
write(图像“png”,新文件(“heightmap.png”))
}
def生成(宽度:Int,高度:Int,倍频程:Int)={
val map=新的BuffereImage(宽度、高度、BuffereImage.TYPE_USHORT_GRAY)
val pi2=Math.PI*2
对于(x
(total*0xffffff).toInt
似乎没有意义。您正在使用一次乘法从灰度浮点创建ARGB值

我想你想要这样的东西:

  val i   = (total * 0xFF).toInt
  val rgb = 0xFF000000 | (i << 16) | (i << 8) | i
vali=(总计*0xFF).toInt

val rgb=0xFF000000 |(我知道它最终会像这样简单。我想我在查看javadocs时误解了setRGB。
  val i   = (total * 0xFF).toInt
  val rgb = 0xFF000000 | (i << 16) | (i << 8) | i