gpt4 book ai didi

java - 我想做一个随机图像生成器,但它不起作用

转载 作者:行者123 更新时间:2023-12-01 17:44:47 26 4
gpt4 key购买 nike

所以我制作了这个程序,我希望它创建一个只有黑白的 8 x 8 大小的图像,但它只显示白色,而不是随机分布的黑白。这是我的代码。如果有人可以提供帮助那就太好了:D

package de.gamingengine.main;

import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.File;
import javax.imageio.ImageIO;

public class Main {

public static void main(String args[])throws IOException {

int width = 8;
int height = 8;
Color c = null;

BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

File f = null;

for(int y = 0; y < height; y++) {

for(int x = 0; x < width; x++) {

int blackorwhite = (int)Math.random()*10;

if(blackorwhite >= 5) {

c = Color.BLACK;

} else if(blackorwhite < 5){

c = Color.WHITE;

}

img.setRGB(x, y, c.getRGB());

}

}

try {

f = new File("C:\\Users\\Linus\\Desktop\\Out.png");
ImageIO.write(img, "png", f);

} catch (IOException e) {

System.out.println("Error: " + e);

}

}

}

最佳答案

问题在于运算符的优先级。这里:

(int) Math.random() * 10

首先,您将把 Math.random() 的结果转换为 int。由于此方法从 [0,1) 返回值,因此您将其转换为 int,因此它始终为 0,然后将其乘以 10,但在结束。

将代码更改为:

int blackorwhite = (int) (Math.random() * 10);

关于java - 我想做一个随机图像生成器,但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56825653/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com