如何在Windows 8中将图像控制保存到本地文件?

时间:2013-03-30 17:16:27

标签: windows-8 winrt-xaml

我正在编写Client-Server应用程序,其中我使用Image Url获取项目。此网址与图像控件捆绑在一起:

<Image Source{Binding ImageUrl} x:Name="img_avatar" Stretch="UniformToFill" Width="48" Height="48"/>

我想将Image.Source中的图像保存到本地文件夹,而不使用任何使用下载操作的方法。

请帮助某人!!!

2 个答案:

答案 0 :(得分:1)

没有办法做你所问的事。当您将Image控件的源设置为Uri时 - 它将转换为BitmapImage,它不会公开任何可以保存文件甚至提取位图的API。如果您想避免多次下载图像,可以将其作为文件下载一次,然后从文件而不是Uri加载BitmapImage。

答案 1 :(得分:0)

我相信一点反思hackery,它应该是可行的。但是存在更好的解决方案,所以是的..

子类Image或写附加属性来处理逻辑。您所要做的就是将图像自己加载到MemoryStream中并手动创建BitmapImage(在子类化的Image或附加的proeprty之后)。

通过这种方式,您可以公开可以直接访问MemoryStream的新属性,从那里您可以将文件保存到HDD而不会浪费宝贵的内存。

如果您还可以在提供此功能的同时保留Source =“{Binding}”语法,则获得积分。