Java에서 비트맵 이미지 만들기

Mohd Mohtashim Nawaz 2023년10월12일
  1. Java의 비트맵 이미지
  2. BufferedImage 클래스를 사용하여 Java에서 비트맵 이미지 생성
Java에서 비트맵 이미지 만들기

비트맵은 이미지를 생성하기 위해 특정 방식으로 구성된 비트 배열로 이미지를 저장하는 이미지 파일 형식입니다.

이 기사에서는 Java에서 비트맵 이미지를 만드는 방법에 대해 설명합니다.

Java의 비트맵 이미지

Java에는 비트맵 이미지를 나타내는 특정 Bitmap 클래스가 없습니다.

대신 BufferedImage 클래스가 있습니다. 이 클래스는 Image 클래스의 하위 클래스이며 색상 모델과 이미지 데이터의 래스터를 포함합니다.

BufferedImage 클래스를 사용하여 이미지 데이터를 픽셀로 저장할 수 있습니다. 클래스의 getset 메서드를 호출하여 픽셀 값을 조작하여 원하는 이미지를 얻을 수 있습니다.

Java의 비트맵 이미지 유형

Java 비트맵 이미지 또는 Java BufferedImage에는 여러 유형이 있습니다. 생성자 자체에서 이미지 유형을 나타내는 플래그 변수를 설정할 수 있습니다.

색상 구성표가 유형마다 다르며 회색조 그림을 생성할 수도 있습니다. BufferedImage 클래스의 플래그와 메서드에 대해 자세히 알아보려면 여기를 방문하세요.

BufferedImage 클래스를 사용하여 Java에서 비트맵 이미지 생성

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

위의 예에서 img 변수에 저장된 비트맵 이미지를 Java로 생성했습니다. 이미지를 반복하여 각 픽셀에 색상을 지정할 수 있습니다.

콘솔에 표시되는 출력은 이미지의 메타데이터입니다.

이미지를 보려면 png, jpg 등과 같은 이미지 형식으로 이미지를 저장해야 합니다. 또한 RGB 값을 setRGB() 메서드에 전달하여 원하는 색상을 이미지에 설정할 수 있습니다.

관련 문장 - Java Image