클릭하세요 자바2 JDK 1.4
Download
Report
Transcript 클릭하세요 자바2 JDK 1.4
15장 :이미지 처리와 오디오
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
1
이미지 로딩
비트맵 파일을 Image 객체로 불러들임
getImage() 메서드의 사용
GC의 이용
로컬 파일과 URL을 이용해서 불러들일 수 있음
Toolkit 클래스와 Applet 클래스에서 동시에 사용 가능
Image 객체를 실제로 화면에 그림
drawImage() 메서드의 사용
코드 1 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
2
애플리케이션에서의 비트맵 이미지
애플리케이션에서는 Toolkit 클래스를 사용
Toolkit.getDefaultToolkit().getImage()
일단 Image 객체 생성후는 애플릿과 동일
코드 2 실습
java ImgViewer lenna.jpg 으로 실행
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
3
이미지 프로세싱
drawImage() 메서드의 이용
그래픽 좌표와 실제 이미지간의 매핑 이용
p.443의 메서드 프로토타입 참조
그래픽 좌표와 실제 이미지 좌표의 매핑에 따라서..
일부 그리기, 스케일링
좌우, 상하 뒤집기 등이 가능함
코드 3 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
4
이미지 처리의 내부구조
그래픽 쓰레드의 할당
그래픽의 로딩 시에 할당됨
이미지 로딩 과정에 호출한 컴포넌트에
imageUpdate() 메서드를 계속해서 호출함
화면의 깜박임(flickering) 발생
이미지 로딩이 완료되었을때만, 처리하도록 수정
코드 4 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
5
이미지 애니메이션
연속적인 이미지 프레임을 시간차을 두어 화면에 보여줌
코드 5 실습
깜박임의 줄임
update() 메서드의 수정 : 백그라운드 보정
코드 6 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
6
더블 버퍼링
메모리 상의 이미지
화면에 그리는 것은 깜박거
림(Flickering)을 야기
createImage() 메서드
해당 메서드로 메모리 상의
이미지 그래픽을 만듦
코드 7 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
7
배경 이미지에 움직이는 모습 만들기
더블 버퍼링을 위한 가상 이미지 준비
가상 이미지 위에서 애니메이션 처리
애니메이션 후 한번에 화면에 뿌려줌
코드 8 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
8
Image I/O
Image 입출력만을 처리하는 클래스
JDK 1.4 이후에 제공
Plug-in 클래스를 이용해서 여러 이미지 형태를
프로그램의 수정 없이 사용 가능함
읽기/쓰기
read() 메서드
write() 메서드
파일이나 네트워크에서 읽어서 BufferedImage를 반환
BufferedImage를 특정 포맷으로 저장함
코드 9 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
9
오디오 처리
디지털 오디오
JMF, Java Sound API를 이용해서 접근 가능
간단한 오디오 재생
애플릿과 애플리케이션에서 간단히 오디오 재생을
하는 것이 가능
AudioClip 클래스의 이용
getAudioClip() 메서드로 객체 생성
생성된 AudioClip 객체로 해당 오디오 파일 재생
코드 10 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
10
애플리케이션에서의 오디오 플레이
Applet 클래스의 newAudioClip() 이용
클래스 메서드이므로, 애플리케이션에서
사용 가능
코드 11 실습
© 대림 & SOA
클릭하세요 자바2 JDK 1.4
11