Java Image I/O API 가이드:3 - Image I/O 어플리케이션의 작성 - xrath.com 에서 번역됨

목차 | 전의 항목 | 다음의 항목 | JavaTM Image I/O API 가이드

## 3.4 `ImageWriter` 클래스

> `ImageIO` 클래스의 메소드를 사용해 특정의 이미지 형식용의 `ImageReader` 의 리스트를 취득할 수 있는 것과 같이,`ImageWriter` 의 리스트도 다음과 같이 해 취득할 수 있습니다.

>     Iterator writers = ImageIO.getImageWritersByFormatName("png");
>     ImageWriter writer = (ImageWriter) writers.next();

> `ImageWriter` 를 취득한 뒤는, 그 출력처를, 다음과 같이 해 `ImageOutputStream` 로 설정하지 않으면 안됩니다.

>     File f = new File("c:\images\myimage.png");
>     ImageOutputStream ios = ImageIO.createImageOutputStream(f);
>     writer.setOutput(ios);

> 최종적으로, 다음과 같이 해, 이미지를 출력 스트림에 기입할 수가 있습니다.

>     BufferedImage bi;
>     writer.write(bi);

### 3.4. 1 복수의 이미지의 기입

> `IIOImage` 클래스를 사용하면(자), 1 개의 이미지, 1 개(살) 또는 복수의 썸네일, 및 이미지에 관련하는 메타데이타 (이미지 이외의 데이터)에의 참조를 포함할 수 있습니다. 메타데이타에 대해서는, 나중에 설명하겠습니다. 여기에서는, 메타데이타 관계의 파라미터의 값으로 해서 `null` 를 건네주는 만큼 해 둡니다.

> `ImageWriter` 클래스에는,`IIOImage` 로부터 새로운 파일을 작성하는 `write` 메소드와`IIOImage` 를 기존의 파일에 추가하는 `writeInsert` 메소드가 있습니다. 다음과 같이, 이 2 개의 메소드를 계속해 호출하는 것으로, 멀티 이미지 파일을 출력할 수 있습니다.

>     BufferedImage first_bi, second_bi;
>     IIOImage first_IIOImage = new IIOImage(first_bi, null, null);
>     IIOImage second_IIOImage = new IIOImage(second_bi, null, null);
>     writer.write(null, first_IIOImage, null);
>     if (writer.canInsertImage(1)) {
>     	writer.writeInsert(1, second_IIOImage, null);
>     } else {
>     	System.err.println("Writer can't append a second image! ");
>     }

목차 | 전의 항목 | 다음의 항목

Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.