我在wpf c#中有一个图像控件。
<Image x:Name="icon01" MouseDown="icon_MouseDown" Cursor="Hand" Source="FavIcon\01.png" Height="48" Width="48" Margin="10"/>
如何将图像(FavIcon \ 01.png)保存到我的电脑上?我使用c#.net 4.0。
答案 0 :(得分:2)
使用icon01.Source
(ImageSource
)通过FileStream
创建PngBitmapEncoder
,此处为使用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);
}
}
和Xaml是相同的:
<Grid>
<Image x:Name="icon01" MouseDown="icon_MouseDown" Cursor="Hand" Source="FavIcon\01.png" Height="48" Width="48" Margin="10"/>
</Grid>