PNG 이미지를 포함하는 사용자 정의 파일 이미지 포맷을 만들고 싶습니다. 나는 내가 어떻게 그것을 할 수 있었는지 조사하고 있었지만, 나는 어디서부터 시작해야할지 모른다. 다음과 같이 사용자 정의 파일 형식을 정의합니다. - 첫 번째 바이트에 형식 버전이 포함되어 있습니다. - 다음 2 바이트에 파일이 들어있는 파일 수가 포함되어 있습니다. - 파일 내용의 나머지 부분은 차례로 복사되는 png 파일입니다.자바에서 사용자 정의 이미지 포맷 만들기
파일을 읽으려면 스트림을 사용할 수 있지만 ImageIO가 전체 스트림을 읽었 기 때문에 각각의 png를 BufferedImage로 변환하는 방법을 알지 못합니다. 이것은 모든 나가와 함께 한 것을 함께 :
public static void main(String[] args) throws IOException {
DataInputStream input = new DataInputStream(new FileInputStream("C:\\a.spr"));
byte version = input.readByte();
short imagenum = input.readShort();
System.out.printf("version:%s\nimagenum:%s",version,imagenum);
BufferedImage[] images = new BufferedImage[imagenum];
for(int i=0;i<imagenum;i++)
{
BufferedImage img; //TODO: Read the image
images[i] = img;
}
}
왜이 작업을 수행하려고합니까? gzip 스트림을 사용하는 것으로 충분하지 않습니까? 사용자 정의 파일 형식을 만드는 이유는 무엇입니까? – ControlAltDel
학습 목적으로 만 사용합니다. –