我有一个 wpf c# 中的图像控件。
<Image x:Name="icon01" MouseDown="icon_MouseDown" Cursor="Hand" Source="FavIcon\01.png" Height="48" Width="48" Margin="10"/>
Run Code Online (Sandbox Code Playgroud)
如何将图像 (FavIcon\01.png) 保存到我的 PC 上的文件中?我使用c#.net 4.0。
使用icon01.Source
( ImageSource
) 创建FileStream
via PngBitmapEncoder
,这里是一个使用 a 的示例SaveFileDialog
private void icon_MouseDown(object sender, MouseButtonEventArgs e)
{
try
{
var saveFileDialog = new SaveFileDialog()
{
Filter = "Image Files (*.bmp, *.png, *.jpg)|*.bmp;*.png;*.jpg"
};
if (saveFileDialog.ShowDialog() == true)
{
var encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create((BitmapSource)icon01.Source));
using (FileStream stream = new FileStream(saveFileDialog.FileName, FileMode.Create))
encoder.Save(stream);
}
}
catch (Exception exception)
{
MessageBox.Show(exception.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
Xaml 是相同的:
<Grid>
<Image x:Name="icon01" MouseDown="icon_MouseDown" Cursor="Hand" Source="FavIcon\01.png" Height="48" Width="48" Margin="10"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)