-1

我正在编写客户端-服务器应用程序,在其中我使用 Image Url 获取项目。此 Url 与 Image 控件绑定:

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

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

请帮助我的人!

4

2 回答 2

1

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

于 2013-03-30T23:51:01.647 回答
0

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

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

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

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

于 2013-03-31T15:42:52.670 回答