在 Java 中创建位图图像
位图是一种图像文件格式,它将图像存储为以特定方式组织的位数组以生成图像。
本文讨论了如何在 Java 中创建位图图像。
Java 中的位图图像
Java 没有特定的 Bitmap 类来表示位图图像。
相反,它有一个 BufferedImage
类。此类是 Image
类的子类,包括颜色模型和图像数据栅格。
你可以使用 BufferedImage
类将图像数据存储为像素。你可以调用类的 get
和 set
方法来操作像素值以获得所需的图像。
Java 中位图图像的类型
Java 位图图像或 Java BufferedImage
有几种不同的类型。你可以在构造函数本身中设置表示图像类型的标志变量。
着色方案的类型不同,你甚至可以生成灰度图片。要了解有关 BufferedImage
类的标志和方法的更多信息,你可以访问此处。
在 Java 中使用 BufferedImage
类创建位图图像
你可以使用 BufferedImage
类和 setRGB()
方法在 Java 中创建位图图像。
它为我们提供了一个数据缓冲区以及我们可以用来操作图像数据的各种方法。要创建一个 BufferedImage
,我们可以使用 BufferedImage()
构造函数。
BufferedImage()
构造函数将图像宽度作为其第一个输入参数,图像的高度作为其第二个输入参数,以及一个表示图像类型的整数常量作为其第三个输入参数。
setRGB()
方法,当在 BufferedImage
上调用时,将 BufferedImage
中的像素设置为特定的 RGB 值。
setRGB()
方法将要操作的像素的 x 坐标作为其第一个输入参数,将像素的 y 坐标作为其第二个输入参数,并将一个整数 RGB 值作为其第三个输入参数。在下面的示例中,我们使用红色 RGB 值作为第三个输入参数。
让我们看看生成大小为 10x10 的位图图像并用红色着色的代码。
import java.awt.Color;
import java.awt.image.BufferedImage;
public class ImageExample {
public static void main(String[] args) {
BufferedImage img = new BufferedImage(10, 10, BufferedImage.TYPE_4BYTE_ABGR);
img.setRGB(1, 1, Color.RED.getRGB());
System.out.println(img);
}
}
输出:
BufferedImage@50040f0c: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space = java.awt.color.ICC_ColorSpace@7a4f0f29 transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width = 10 height = 10 #numDataElements 4 dataOff[0] = 3
在上面的示例中,我们在 Java 中创建了一个存储在 img
变量中的位图图像。你可以通过循环浏览图像来为每个像素着色。
控制台上显示的输出是图像的元数据。
如果要查看图像,必须将图像保存为图像格式,例如 png
、jpg
等。你还可以通过将 RGB 值传递给 setRGB()
方法。