在运行时从资源导出图像

时间:2016-06-30 15:10:48

标签: vb.net visual-studio-2010

是否可以在运行时从资源文件中导出(保存)图像?例如,如果我在程序中使用了一组图像,我将它们放在资源文件中,但是如果用户希望能够保存该图像并将其用于其他内容,该怎么办...是否可以表单上的“保存图像”按钮,用户可以保存图像而无需单独发送图像?我在搜索中发现的所有内容都与.resx文件本身有关...我不想在运行时添加/保存/编辑/更新此文件...我希望能够从中导出文件单独

2 个答案:

答案 0 :(得分:0)

您可以使用Assembly类搜索Assembly的资源:

Assembly.GetManifestResourceStream (YourResourceName)

使用此功能,您可以检索所需的资源,并使用 FileStream 进行保存。

这里有一些有用的链接:

Msdn Documentation Resource Reading

Write file from Assembly

答案 1 :(得分:0)

您要做的是从工具箱中的对话框组中找到 SaveSileDialog 控件。将其添加到您的表单设计器。然后,此控件将显示在设计器的底部。接下来添加按钮(除非您已经这样做了)。

打开按钮的代码并添加:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    SaveFileDialog1.ShowDialog()
End Sub

这将打开我们之前添加的SaveFileDialog。

打开SaveFileDialog的代码并添加:

Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
    My.Resources.YourImageHere.Save(SaveFileDialog1.FileName, Drawing.Imaging.ImageFormat.YourFileTypeHere)
End Sub

将“YourImageHere”替换为您的资源名称,并将“YourFileTypeHere”替换为您图像的文件类型(即PNG,JPG,BMP等等)。可以找到有关SaveFileDialog控件的文档here on MSDN

现在,当用户按下按钮时,您的应用程序应保存图像。