由于图像闪烁,我使用了WriteableBitmap。我有三个缩放因子的图像。但是GetFileFromApplicationUriAsync总是以最高的缩放因子读取图像,而且移动设备上的图像太大。这是我的代码:
private async Task<WriteableBitmap> CreateBitmapImage(Uri uri)
{
var file = await StorageFile.GetFileFromApplicationUriAsync(uri);
BitmapImage bitmapImage;
WriteableBitmap writeableBitmap;
using (IRandomAccessStream fileStream = await file.OpenAsync(FileAccessMode.Read))
{
bitmapImage = new BitmapImage();
await bitmapImage.SetSourceAsync(fileStream);
writeableBitmap = new WriteableBitmap(bitmapImage.PixelHeight, bitmapImage.PixelWidth);
fileStream.Seek(0);
await writeableBitmap.SetSourceAsync(fileStream);
}
return writeableBitmap;
}我使用BitmapImage是因为WriteableBitmap需要像素高度和宽度作为构造函数中的输入参数。Uri例如:ms-appx://Image/contact.png
发布于 2016-10-17 09:19:35
我已经解决了这个问题:
<Image Grid.Column="0" x:Name="StatusImage" Margin="0,8,12,8" Source="{x:Bind ImageStatusUri, Mode=OneWay}">
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="ImageOpened">
<core:ChangePropertyAction PropertyName="Source" Value="{Binding ElementName=StatusImage, Path=Source}" TargetObject="{Binding ElementName=CopyOfStatusImage}"/>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</Image>
<Image Grid.Column="0" Margin="0,8,12,8" x:Name="CopyOfStatusImage"/>所以我不需要使用WriteableBitmap和GetFileFromApplicationUriAsync
https://stackoverflow.com/questions/40081049
复制相似问题