정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8용 Direct3D 앱에서 화면 해상도를 감지하는 방법

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1만

 

이 항목에서는 Windows Phone Direct3D 앱 에서 화면 해상도를 결정하는 방법을 보여 줍니다. Windows Phone 8 는 WVGA, WXGA 및 720p 해상도를 포함하는 휴대폰을 지원합니다. CoreWindow 클래스의 Bounds 속성은 화면 해상도를 장치 독립적 픽셀로 반환합니다. 예를 들어 Bounds는 WXGA 휴대폰에서 480 × 800을 반환하지만 휴대폰 해상도의 실제 픽셀은 768 × 1280입니다. ResolutionScale 속성을 사용하여 장치 독립적 픽셀의 해상도에서 실제 픽셀의 해상도를 결정할 수 있습니다.

다음 표에서는 Windows Phone 8 앱에서 대상으로 지정할 수 있는 해상도 및 화면 비율에 대해 설명합니다.

해결 방법

픽셀

가로 세로 비율

Windows Phone OS 7.1 의 변경 내용

배율 조정 해상도

WVGA

480 × 800

15:9

없음

480 × 800

WXGA

768 × 1280

15:9

1.6x 배율

480 × 800

720p

720 × 1280

16:9

1.5x 배율, 세로 80픽셀(배율 조정 전 53픽셀)

480 × 853

화면 해상도에 따라 로드할 이미지 결정

  • ResolutionScale 속성을 쿼리합니다. 반환 값이 Scale100Percent인 경우 화면은 WVGA입니다. 반환 값이 Scale150Percent인 경우 화면은 WXGA입니다. 값이 Scale16Percent인 경우 화면은 720p입니다.

    
    	switch (DisplayProperties::ResolutionScale) {
    
    		case ResolutionScale::Scale100Percent: LoadSmallBitmaps(); break;
    		case ResolutionScale::Scale150Percent: LoadMediumBitmaps(); break;
    		case ResolutionScale::Scale160Percent: LoadLargeBitmaps(); break;
    	}
    
    
    

화면 크기를 실제 픽셀로 변환

  • GetForCurrentThread() 메서드를 호출하여 앱의 CoreWindow 개체에 대한 참조를 가져옵니다. Bounds 속성을 확인하세요. 반환 너비 및 높이에 ResolutionScale / 100.0을 곱하여 실제 픽셀의 크기를 구합니다.

    
    	CoreWindow^ m_window = CoreWindow::GetForCurrentThread();
    	Rect bounds = m_window->Bounds;
    	bounds.Height *= ((int) DisplayProperties::ResolutionScale) / 100.0;
    	bounds.Width *= ((int) DisplayProperties::ResolutionScale) / 100.0;
    
    
    

표시: