BitmapSource 컬렉션에서 비트 맵을 만들고 싶습니다. 각 소스 소스는 하나의 프레임이어야합니다. BitmapSources 컬렉션에서 비트 맵 만들기
는 다음 코드를MemoryStream memStream = new MemoryStream();
BitmapEncoder enCoder = new GifBitmapEncoder();
foreach (BitmapSource source in BitmapSources)
enCoder.Frames.Add(BitmapFrame.Create(source));
enCoder.Save(memStream);
_Bitmap = new DrawingCtrl.Bitmap(memStream);
DrawingCtrl.ImageAnimator.Animate(_Bitmap, OnFrameChanged);
및
private void OnFrameChangedInMainThread()
{
DrawingCtrl.ImageAnimator.UpdateFrames(_Bitmap);
Source = GetBitmapSource(_Bitmap);
InvalidateVisual();
}
을 썼다 그러나
"Exception has been thrown by the target of an invocation."
을 보여줍니다. 누구든지 나를 도울 수 있을까?
enCoder.Save(memStream);
이 메모리 스트림에 컨텐츠를 작성하고 떠날 것이다 :
일반적으로 'TargetInvocationException' ("호출 대상에 의해 예외가 발생했습니다")는 래퍼 예외 일뿐입니다. 이 예외를 잡아 예외 객체의'InnerException' 속성을 보면 * 실제 * 예외가 포함됩니다. 물론 어떤 경우에는이 래핑의 여러 레이어가있을 수 있으므로 while 루프를 사용하여 가장 안쪽 예외를 가져옵니다. – Timwi