我正在制作一个项目,要求我获取一堆图像并将其显示为视频。这意味着,我将每秒更新WPF的图像控制30次。 到目前为止没有运气。
BitmapImage img = BitmapToImageSource((Bitmap)image);
this.image_box.Dispatcher.Invoke(() =>
{
//this.image_box.Source.Freeze();
this.image_box.Source = img;
});
BitmapImage BitmapToImageSource(Bitmap bitmap)
{
using (MemoryStream memory = new MemoryStream())
{
bitmap.Save(memory, System.Drawing.Imaging.ImageFormat.Bmp);
memory.Position = 0;
BitmapImage bitmapimage = new BitmapImage();
bitmapimage.BeginInit();
bitmapimage.StreamSource = memory;
bitmapimage.CacheOption = BitmapCacheOption.OnLoad;
bitmapimage.EndInit();
return bitmapimage;
}
}
image_box是图像控件(wpf)。 所以,我期待这段代码能够更新图像并给出视频播放的错觉。虽然它什么也没做。我看到窗户上有等待光标。
已编辑----更多信息----
我创建了一个简单的程序来检查图像控制中是否可以更改图像。但结果是一样的。我看到等待光标而没有图像。
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ImageSource s1;
ImageSource s2;
s1 = new BitmapImage(new Uri(@"IMAGE_PATH", UriKind.Absolute));
s2 = new BitmapImage(new Uri(@"IMAGE_PATH", UriKind.Absolute));
while (true)
{
try
{
if (image.Source == s1)
image.Source = s2;
else
image.Source = s1;
System.Threading.Thread.Sleep(1000);
}
catch(Exception ex)
{
MessageBox.Show("Error");
}
}
}
答案 0 :(得分:0)