2011-09-08 3 views
0

PhotoCamera를 사용할 때는 VideoBrush뿐만 아니라 PhotoCamera의 인스턴스를 만들어야하고 카메라를 초기화하기 전에 해당 PhotoCamera 인스턴스를 VideoBrush 인스턴스의 소스에 할당해야합니다. 예 :PhotoCamera에 VideoBrush가 필요한 이유는 무엇입니까?

PhotoCamera camera; 
VideoBrush brush; 

camera = new PhotoCamera(); 
camera.Initialized += CameraInitialized; 

brush = new VideoBrush(); 
brush.SetSource(camera); 

VideoBrush에 개발자가 Canvas.Background 또는 Rectangle.Fill 같은 시각적 개체의 브러시와 VideoBrush에 인스턴스를 연결하여 카메라 비디오 스트림에 대한 뷰 파인더를 생성하고자하는 시나리오에서 명확 유용 . 그러나 그렇지 않은 경우 개발자가 VideoBrush를 만드는 동작을 계속 진행해야하는 것은 언뜻 보면 다소 임의적으로 보입니다.

두 가지 질문이 있습니다. 왜 PhotoCamera가 항상 VideoBrush와 연결되어야합니까?

PhotoBamera에 PhotoCamera를 연결하면 성능에 어떤 영향이 있습니까? 연결된 VideoBrush의 영향을받은 GetPreviewBuffer (Argb | Y | YCbCr)에 대한 호출은 어떻게 구체적입니까?

감사합니다.

추신. 어쨌든 이것이 지적되지 않는 한 잘하면이 요구 사항이 존재하는 이유와 성능에 어떤 영향을 미치는지에 대해 더 잘 이해하고 싶습니다.

PPS. 망고 용 WP7 SDK의 개선 된 점은 놀랍습니다. 센서에 대한 액세스가 열리면서 사람들이 무엇을 생각해 낼지 기대하고 있습니다.

+1

글쎄, 왜 안 되니? 화면 상에 사진을 표시하지 않고 카메라를 사용 하시겠습니까? 브러시없이 카메라를 작동 해 보셨습니까? –

+0

여기서 분명히 밝히지는 않았지만, 아니요, 내 응용 프로그램에서 VideoBrush의 유일한 역할은 PhotoCamera의 초기화를 트리거하는 것입니다. 내 비주얼은 PreviewBuffer + 이미지 프로세싱의 데이터에서 파생됩니다. –

답변

0

mango에는 두 가지 옵션이 있습니다. 위에서 제안한 것처럼 앱에서 비디오 프레임을 사용하여 사진을 찍거나 비디오 브러시에서 하나의 프레임을 잡아야합니다. 또는 PhotoChooser Task를 사용하는 이전의 NoDo 방법을 사용하면 프레임 워크 카메라 앱을 별도로 실행하고 이미지를 반환합니다.

두 가지 방법의 장점과 단점은 분명히 당신에게 맞는 것을 선택하십시오.

관련 문제