0

我有 2 个图像控件。一种以缩略图分辨率 (70x90) 显示图像,另一种以原始/源分辨率显示图像。缩略图图像从原始分辨率调整大小而不考虑纵横比。

我的问题是哪一个能产生更好的性能?

每个图像控件使用 2 个图像文件(相同图像,不同分辨率)

XAML

<Image Name="Img_Thumb"/>
<Image Name="Img_Original"/>

代码背后

BitmapImage bmp_thumb = new BitmapImage();
bmp_thumb.BeginInit();
bmp_thumb.CacheOption = BitmapCacheOption.OnLoad;
bmp_thumb.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bmp_thumb.UriSource = new Uri(thumbnails_directory);
bmp_thumb.EndInit();
Img_Thumb.Source = bmp_thumb;
Img_Thumb.Width = bmp_thumb.PixelWidth;
Img_Thumb.Height = bmp_thumb.PixelHeight;

bmp_ori = new BitmapImage();
bmp_ori.BeginInit();
bmp_ori.CacheOption = BitmapCacheOption.OnLoad;
bmp_ori.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bmp_ori.UriSource = new Uri(original_image_directory);
bmp_ori.EndInit();
Img_Original.Source = bmp_ori;
Img_Original.Width = bmp_ori.PixelWidth;
Img_Original.Height = bmp_ori.PixelHeight;

或者只使用 1 个图像文件(大的)并将其加载到 2 个具有自定义分辨率的不同图像控件。

XAML

<Image Name="Img_Thumb" width="70" height="90"/>
<Image Name="Img_Original"/>

代码背后

BitmapImage bmp_thumb = new BitmapImage();
bmp_thumb.BeginInit();
bmp_thumb.CacheOption = BitmapCacheOption.OnLoad;
bmp_thumb.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bmp_thumb.UriSource = new Uri(original_image_directory);
bmp_thumb.EndInit();
Img_Thumb.Source = bmp_thumb;

bmp_ori = new BitmapImage();
bmp_ori.BeginInit();
bmp_ori.CacheOption = BitmapCacheOption.OnLoad;
bmp_ori.CreateOptions = BitmapCreateOptions.IgnoreImageCache;
bmp_ori.UriSource = new Uri(original_image_directory);
bmp_ori.EndInit();
Img_Original.Source = bmp_ori;
Img_Original.Width = bmp_ori.PixelWidth;
Img_Original.Height = bmp_ori.PixelHeight;
4

0 回答 0