내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8의 카메라 캡처 작업을 사용하는 방법

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1

 

카메라 캡처 작업을 통해 사용자가 응용프로그램에서 기본 제공 카메라 응용프로그램으로 사진을 찍을 수 있도록 할 수 있습니다. 사용자가 작업을 완료하면 이벤트가 발생해 이벤트 처리기가 사진을 받게 됩니다. Windows Phone 8 에서 카메라 캡처 작업으로 찍은 사진을 사용자가 수락하면 사진이 자동으로 휴대폰의 카메라 앨범에 저장됩니다. Windows Phone 의 이전 버전에서는 사진이 자동으로 저장되지 않습니다.

중요중요:

CameraCaptureTask API로 찍은 사진은 항상 휴대폰의 카메라 앨범에 복사됩니다. 고객이 자동 업로드하도록 자신의 휴대폰을 설정한 경우 이 사진들은 OneDrive에 복사되고 앱의 목적보다 더 광범위한 대중과 공유될 수 있습니다. 따라서 임시 이미지나 개인 정보가 들어 있는 이미지와 같이 공유하거나 업로드하고 싶지 않은 사진을 앱에서 촬영하는 경우에는 CameraCaptureTask API를 사용하지 마세요. 대신, PhotoCamera API를 사용하여 자신만의 카메라 UI를 구현하도록 합니다. 카메라 앱을 만드는 방법에 대한 자세한 내용은 Windows Phone 8용 기본 카메라 앱을 만드는 방법을 참조하세요.

선택자를 사용하면 Windows Phone 플랫폼 전체에서 일관된 사용자 환경을 손쉽게 제공할 수 있습니다. 자세한 내용은 Windows Phone 8의 시작 관리자 및 선택자를 참조하세요.

카메라 캡처 작업에 할당되는 메모리는 총 응용프로그램 메모리 사용에 포함되지 않습니다. 따라서 응용프로그램이 사진을 캡처하는 데 사용하는 메모리의 양을 최소화하는 데 도움이 되며, 이는 저메모리 단말기 에서 응용프로그램이 실행되는 경우 특히 중요합니다. 자세한 내용은 Windows Phone 8 저메모리 휴대폰용 앱 개발을 참조하세요.

에뮬레이터를 사용하여 카메라 캡처 작업을 테스트하는 경우 사진을 캡처하기 위해 작업이 활성 상태인 동안 F7 키를 누릅니다.

카메라 캡처 작업을 사용하려면

  1. 코드에 다음 문을 추가합니다.

    Imports Microsoft.Phone.Tasks
    
  2. 작업 개체를 선언합니다. 이 개체에는 페이지 범위가 포함되어 있어야 하므로 페이지에서 생성자보다 먼저 선언하세요.

    Dim cameraCaptureTask As CameraCaptureTask
    
  3. 페이지 생성자에 다음 코드를 추가합니다. 이 코드는 작업 개체를 초기화하고 사용자가 작업을 완료한 후에 실행할 메서드를 식별합니다.

    cameraCaptureTask = new CameraCaptureTask()
    AddHandler cameraCaptureTask.Completed, AddressOf cameraCaptureTask_Completed
    
  4. 버튼 클릭 이벤트 등 다음 코드가 필요한 곳마다 응용프로그램에 다음 코드를 추가합니다. 이 절차를 테스트하려면 페이지 생성자에 코드를 배치하면 됩니다. 다음은 이 작업을 실행하기 위한 코드입니다.

    
    
    cameraCaptureTask.Show()
    
    
    
    
    
    
    
  5. 완료된 이벤트 처리기의 코드를 페이지에 추가합니다. 이 코드는 사용자가 작업을 완료한 후에 실행됩니다. 그 결과 이미지 데이터가 포함된 스트림을 노출하는 PhotoResult 개체가 만들어집니다. 사진 이미지 스트림 작업에 대한 자세한 내용은 Windows Phone 8의 카메라 및 사진을 참조하세요.

    Private Sub cameraCaptureTask_Completed(sender As Object, e As PhotoResult)
    
        If e.TaskResult = TaskResult.OK
    
            MessageBox.Show(e.ChosenPhoto.Length.ToString())
    
            'Code to display the photo on the page in an image control named myImage.
            'Dim bmp as System.Windows.Media.Imaging.BitmapImage = new System.Windows.Media.Imaging.BitmapImage()
            'bmp.SetSource(e.ChosenPhoto)
            'myImage.Source = bmp
        End If
    End Sub
    

표시:
© 2014 Microsoft