소년포비의 세계정복!!

스마트폰(PDA) 이용한 차량용 HUD 만들기 #4 - 속도 디스플레이 본문

윈도우폰 세상/Windows Phone

스마트폰(PDA) 이용한 차량용 HUD 만들기 #4 - 속도 디스플레이

소년포비 2009. 10. 29. 23:48

 

그럼 이제 가져온 속도 데이터를 화면에 출력해보자.

처음 생각했을때에는 화면 자체를 Transform 할 수 있는 API 가 있을것으로 생각했으나, 없는것인지 못찾은건인지 결국은 아래와 같이 이미지로 반전된 숫자를 만들고, 이 이미지를 디스플레이 하는 Custom Control 을 만들어 처리하게 됐다. (혹시 이 노가다 방법 말고 엘레강스한 방법이 있다면 바로 제보 부탁 ^^)

우리가 스마트폰이나 PDA 에 나타낼 문자들은 위 그림에서 하단의 PDA 로 표시된 부분과 같이 상하가 뒤집힌 형태가 되어야 한다.

각 숫자는 0~9 까지 모두 상하 flip 된 상태의 이미지를 10개를 만들었고, 해당 이미지는 나타낼 자리수만큼의Picture Panel 위에 올려졌다. 이렇게 만들어진 custom control 은 아래와 같다.

* 속도 표시를 위한 Digit Control Tester


위 컨트롤은 나중에 실제 메인폼에 사용될 것이다.
위에서 만든 Value Property의 setter 코드는 아래와 같다.

* Digit Control::Value Property
 

 set{
        this.digit = value;
        string _digit = value.ToString().PadLeft(3,'0');
        this.pic1.Image = this.imgDigit.Images[Int32.Parse(_digit[0].ToString())];
        this.pic2.Image = this.imgDigit.Images[Int32.Parse(_digit[1].ToString())];
        this.pic3.Image = this.imgDigit.Images[Int32.Parse(_digit[2].ToString())];


  
이 컨트롤로 LCD 에 속도를 표시 할 수 있게 되었다.

이제 다음은 현재 진행방향을 표시하기 위한 Compass 컨트롤을 만들어 보자.