Итак, сегодня я начал с нового проекта. Я хочу сделать простой генератор в Java карты высот, так что я попытался следующие:Java: Мой генератор карты высоты записывает только двоичный файл
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Heightmap {
public static int width = 200;
public static int height = 200;
public static void main(String[] args) {
BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
for(int x = 0; x < width; x++){
for(int y = 0; y < height; y++){
bufferedImage.setRGB(x, y, (byte)(Math.random() * 256 + 128)); // + 128 because byte goes from -128 to 127
}
}
File outputFile = new File("heightmap.png");
try {
ImageIO.write(bufferedImage, "png", outputFile);
}catch (IOException ioex){
ioex.printStackTrace();
}
}
}
код очень прост, я планирую попробовать Перлин шума в качестве следующего шага. Но сначала мне нужно решить эту проблему: Generated Heightmap
пикселей в heightmap.png либо полностью белый или полностью черный. На изображении нет серых, что, конечно же, необходимо в карте высот. Кто-нибудь знает, что я сделал неправильно?
Это BufferedImage.TYPE_BYTE_GRAY
деталь? Если да, то что я должен использовать вместо этого?