【发布时间】:2021-04-10 20:56:42
【问题描述】:
我正在尝试生成随机数组并将它们保存为 argb 图像。但是,当我这样做时,当我打开 .png 图像时,图像是空白的,就好像它们的 alpha 值都为 0,而不管我使用什么软件打开它们。到目前为止,这是我的代码:
import java.io.*;
import java.text.*;
import java.util.*;
import javax.imageio.ImageIO;
import java.awt.image.*;
public class RandomColour
{
public static void main(String[] args) {
int w = 100;
int h = 100;
int arr[] = new int[w*h];
for (int i = 0; i < arr.length; i++) {
int r = (int) (Math.random() * 254);
int g = (int) (Math.random() * 254);
int b = (int) (Math.random() * 254);
arr[i] = 0xFF000000 | (r << 16) | (g << 8) | b;
}
BufferedImage outputImage = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
WritableRaster raster = outputImage.getRaster();
raster.setSamples(0, 0, w, h, 0, arr);
try {
ImageIO.write(outputImage, "png", new File("output.png"));
} catch(Exception e){
System.out.println(e);
}
System.out.println("Finished generating a random image.");
}
}
【问题讨论】: