배경 : 60Hz 이상의 고속 디지털 카메라에서 라이브 이미지를 표시하고 있습니다. 라이브 이미지가 업데이트 이미지 컨트롤의 ImageSource으로 표시됩니다이미지 컨트롤이 이미지 업데이트를 완료했는지 여부를 감지합니다.
this.Dispatcher.Invoke(DispatcherPriority.Normal,(ThreadStart)delegate() { MyImage.Source = myNewBitMapImage; });
문제 : 내가 이전 이미지가 아직 화면에 표시되지 않은 경우 새로운 이미지를 건너 뛰어 응용 프로그램의 성능을 개선하고 싶었다. 예를 들어 이미지 컨트롤 (MyImage)이 마지막 이미지 업데이트를 아직 완료하지 않은 경우 위 디스패처 호출은 MyImage가 "유휴 상태"가 될 때까지 건너 뜁니다.
아직 업데이트 할 영역이 남아 있는지 확인하기 위해 GetUpdateRect()를 사용하여 MFC에서 비슷한 작업을 수행했으며,있을 경우 새 이미지 표시를 건너 뜁니다.
질문 : WPF에서 동일한 목표를 달성하는 방법은 무엇입니까? 이미지 컨트롤이 마지막 이미지를 아직 업데이트하지 않은 경우 새 이미지를 건너 뜁니다.
감사합니다.
'MyImage.Source'를 설정하거나 이미지를 다운로드 중일 때 이미지가 이미 다운로드 되었습니까? [IsDownloading] (http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage.isdownloading) 속성을 확인할 수 있습니다. 얼마나 자주 이미지를 업데이트합니까? – Clemens
이미지를 만들 때 IsDownloading이 TRUE라고 가정합니다 (잘못 입력 한 경우 수정하십시오). 그렇다면 이미지는 MyImage.Source에 전달 될 때 이미 생성되었습니다. – seekingalpha