본문 바로가기

프로그래밍/JAVA

[JAVA TV] MHP 배경이미지 처리

HAVi UI 국내 디지털 위성 방송 표준인 MHP에 포함된 유저 인터페이스 관련 패키지로, 화면과 UI 컴포넌트, 입력 처리등을 지원하고 있다. 이중 배경 화면 관련 클래스에 대해 기술한다. 화면은 HScreen 으로 대표되고, 내부는 레이어 개념으로 화면을 구성하고 있다. 각 레이어는 HScreenDevice 클래스를 통해 핸들링이 가능하다. HScreenDevice는 아래와 같이 확장된다.


HBackgroundDevice

HVideoDevice

HGraphicDevice


이름에서도 알 수 있듯 HBackgroundDevice 가 배경 레이어에 해당하고, HVideDeivce, HGraphicDevice 순서로 화면에 표시된다. 각 device는 HScreenConfiguration 정보를 통해 현재 설정된 색상이나 이미지 정보를 얻거나 변경할 수 있다. 배경에는 색상과 still 이미지를 지정할 수 있는데, 간단히 m2v 파일을 지정해 보는 예제를 작성해 본다.


1. 이미지

해당 이미지를 로드한다. HBackgroundListener 에서 imageLoaded() 메쏘드가 호출되면 다음 플로우로 진행한다.

HBackgroundImage image = new HBackgroundImage("sample.m2v");

image.load(  new HBackgroundListener() {

public void imageLoaded( HBackgroundImageEvent event ) {

}


public void imageLoaded(HBackgroundImageEvent event ) {


}

} );


2. 배경관련 디바이스 

HScreen screen = HScreen.getDefaultHScreen();

HBackgroundDevice device = screen.getDefaultHBackgroundDevice();



3. 현재 설정 얻기

구성 관련 template를 생성해 해당 템플릿에 매칭되는 설정 정보를 얻어와 처리한다.

HBackgroundConfigTemplate template = new HBackgroundConfigTemplate();

template.setPreference( HBackgroundConfigTemplate.STILL_IMAGE, 

HBackgroundConfigTemplate.REQUIRED );


template.setPreference( HBackgroundConfigTemplate.CHANGEABLE_SINGLE_COLOR,

HBackgroundConfigTemplate.REQUIRED );


4. 해당 템플릿에 매칭되는 설정 정보를 얻는다.

HBackgroundConfiguration config = device.getBestConfiguration( template );


5. 장치사용 요청

device.reserveDevice( ResourceClient client );


6. 설정 등록

device.setBackgroundConfiguration( config );


7. 이미지 표시

config.displayImage( image );


8. 해제

device.releaseDevice();




'프로그래밍 > JAVA' 카테고리의 다른 글

Annotation  (0) 2014.03.15
[swt] 이벤트  (0) 2014.03.14
[eclipse] Extention Points  (0) 2014.03.14
[eclipse] simple plug-in example  (0) 2014.03.13
Apache HttpClient 관련 정리  (0) 2014.03.11
[JAVA TV] 타이머  (0) 2013.12.27
[awt] 이미지 읽기~  (0) 2013.12.17
GSON 간단 사용 예  (0) 2013.09.12
CRC16-CCITT crc생성함수  (0) 2012.10.04
ExecutorService  (0) 2012.05.11