【问题标题】:Exporting images from resource at runtime在运行时从资源中导出图像
【发布时间】:2023-03-16 19:21:01
【问题描述】:

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

【问题讨论】:

    标签: vb.net visual-studio-2010


    【解决方案1】:

    您要做的是从工具箱的 Dialogs 组中找到一个 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

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

    【讨论】:

      【解决方案2】:

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

      Assembly.GetManifestResourceStream (YourResourceName)
      

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

      这里有一些有用的链接:

      Msdn Documentation Resource Reading

      Write file from Assembly

      【讨论】:

      • 谢谢....但是...我是一名自学成才的程序员...从基础开始...我从未使用过 Assembly 类或 FileStream 类...我可以查看并理解您的 Assembly 类声明......但是......然后我该如何将它发送到 FileStream?
      • 亲爱的@Hari_Seldon 我会给你一些文件从 whitch 开始学习。
      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-03
      • 1970-01-01
      相关资源
      最近更新 更多