HOWTO · Java

在 Java 中建立點陣圖影象

本文討論 Java 中的點陣圖影象和 BufferedImage 類。它進一步討論瞭如何在 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() 方法。