加载高分辨率图像的快速方式

本文关键字:方式 高分辨率 图像 加载 | 更新日期: 2023-09-27 18:03:15

有一个名为Time Lapse Viewer的项目,它打开一个包含数千张图像的文件夹,并使用Timer将它们动画化。

这个应用程序是用XAML编写的,下面的代码是我用来加载图像的。
bi = new BitmapImage();
bi.BeginInit();
bi.DecodePixelWidth = 720;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.UriSource = new Uri(this.ImageFilenames[this._image_index]);
bi.EndInit();
this.imgImage.Source = bi;

正在加载的图像来自DSLR,这些图像的分辨率为1536x2034,大小约为1.30+MB。

上面的代码已经足够快,可以在720p加载图像,但是有一些明显的延迟。我知道当图像第一次加载时,它需要一些时间。

是否有更快的方式来加载图像,而不是将它们加载为缩略图?

谢谢。

加载高分辨率图像的快速方式

  • 你可以在一个单独的线程中加载(当BiatmapImage被冻结时,可以从另一个线程访问-加载后调用Freeze)。
  • 你可以在多个线程中这样做

但就是这样。这就是为什么大多数系统准备缩略图并将它们存储在一个单独的文件中以供重复使用。