Я хотел бы создать растровое изображение из коллекции BitmapSource, и каждый источник должен быть одним фреймом.Создать растровое изображение из коллекции битмап-источников
Я написал следующий код
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."
. Может ли кто-нибудь мне помочь?
Как общее правило, 'TargetInvocationException' (который говорит:«Исключение было брошено в целью вызова») является лишь исключением обертка. Если вы поймаете это исключение и посмотрите на свойство InnerException на объекте исключения, оно содержит исключение * actual *. Конечно, в некоторых случаях у вас может быть несколько слоев этой упаковки, поэтому используйте цикл while, чтобы получить самое внутреннее исключение. – Timwi