를 사용하는 방법 :어떤 이미지 나 자바 API를 읽었습니다,하지만 난 여전히 사이의 주요 차이점 이해하지 못하는
1) 이미지 아이콘 2) BufferedImage의 3)의 VolatileImage 4) 이미지
을 수 누군가 각자 사용되면 알려주지?
를 사용하는 방법 :어떤 이미지 나 자바 API를 읽었습니다,하지만 난 여전히 사이의 주요 차이점 이해하지 못하는
1) 이미지 아이콘 2) BufferedImage의 3)의 VolatileImage 4) 이미지
을 수 누군가 각자 사용되면 알려주지?
내가 Java 이미지 유형을 사용하는 절대 기준 아래이 설명을 호출 할 것이다, 그러나이 내가 따라 엄지 손가락의 규칙은 다음과 같습니다
1. 이미지 아이콘
이 일반적으로 할 때 사용됩니다 버튼에 추가하거나 창 아이콘으로 사용하려는 작은 이미지가 있습니다. 이것들은 Image
인터페이스를 구현하는 것으로부터 직접 생성 될 수 있습니다.
2의 BufferedImage 일반적으로는 이미지 내 각각의 화소를 조작 할 필요하거나 원할 경우 사용자에게 paint(Graphics g)
방법을 이중 버퍼링 할 때 사용
. 이미지는 RAM에 있으므로 많은 공간을 차지할 수 있으며 BufferedImage
인스턴스의 수정은 일반적으로 하드웨어 가속이 아닙니다.
3의 VolatileImage
하드웨어 가속 이미지, 그래서 빨리,하지만 당신은 당신이 그림을 완료하기 전에이 거의 발생하지 오라클에 따르면 있지만 (덮어 쓰기되는 하드웨어 백업 버퍼의 위험을 실행 , Windows 기반 컴퓨터에서만 문제입니다.) 사용자 정의 paint(Graphics g)
메서드를 더블 버퍼링하는 데는 BufferedImage
보다 사용하기가 조금 더 어렵지만 화면에 렌더링하기 전에 많은 사전 처리를 수행하면 가치가 있습니다.
4. 이미지 이것은 기본적으로 모든 Image
가지고해야 할 몇 가지 베어 본 기능을 정의 단지 인터페이스입니다. 이미지의 내용을 수정할 필요가 없거나 읽기 전용 이미지 데이터를 가장 유연하게 처리하는 메서드를 만들려는 경우이 메서드를 사용해야합니다.
또한 ImageIcon은 serializable을 구현하므로 java 소켓을 통해 보낼 수 있습니다. Image 객체가 있다면 ImageIcon으로 변환하여 보내야합니다. 클라이언트 측에서 ImageIcon을 가져 왔을 때 이미지를 이미지로 다시 변환 할 수 있습니다.