我有一个现有的Winforms应用程序,它有几个窗体,每个窗体的两个主按钮上都有相同的按钮图像(确定并取消)。通过将Button的Image属性设置为“本地资源”并导入所需的图像,在VS Designer中设置图像。从Winforms窗体/按钮/图像属性中提取本地资源图像
我无权访问原始图像文件。如何从Image属性设置为Button的Button控件的Image属性中提取图像?
我有一个现有的Winforms应用程序,它有几个窗体,每个窗体的两个主按钮上都有相同的按钮图像(确定并取消)。通过将Button的Image属性设置为“本地资源”并导入所需的图像,在VS Designer中设置图像。从Winforms窗体/按钮/图像属性中提取本地资源图像
我无权访问原始图像文件。如何从Image属性设置为Button的Button控件的Image属性中提取图像?
实际上图像不存储在文件系统中,而是添加到表单的RESX文件(例如MainForm.resx),为64位编码的序列化表示。如果你知道如何,你可以base64解码该字符串,将结果保存在一个平面文件中并正确命名(你必须知道图像类型)。
我发现比手动解码Base64更简单的方法。
假设您的形式被称为Form1中:
这适用于持久性设置为“Embedded in .resx”的资源。如果持久性是“在编译时链接的”,则该图像已经作为文件存在于项目的资源目录中。
@KyleMit感谢您的截图! – Dan 2016-11-16 18:48:05
您可以Base64编码的字符串解码为二进制文件的位置:http://www.freeformatter.com/base64-encoder.html – Dan 2014-11-12 14:32:14