WPF图像/渲染事件

5
我正在使用图像控件来显示文档:
<Image x:Name="cImage" SnapsToDevicePixels="True" ... />

因为在屏幕上显示图像需要约半秒钟的时间,所以我首先显示预览:

RenderOptions.SetBitmapScalingMode(cImage, BitmapScalingMode.NearestNeighbor);
cImage.Source=...;

然后我设置了一个定时器来将模式更改为HighQuality。

WPF是否有完成渲染时触发的事件可以使用,而不是定时器?

2个回答

3

你可以尝试使用图像源更新事件,但我并不总是能够成功使用它。

根据你的来源,更好的解决方案是添加一个处理程序来处理加载时的情况。

你可以尝试以下代码:

BitmapImage src = new BitmapImage();
src.BeginInit();
src.UriSource = tURI;
src.EndInit();
imgImage.SetCurrentValue(Image.SourceProperty, src);
src.DownloadCompleted += ImageDownloadCompleted;

然后,您可以编写ImageDownloadCompleted的代码来更改分辨率。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接