我正在将一些 VB6 代码转换为 C#。 VB6 将资源存储在
.frx
文件中,与 C# 将资源存储在 .resx
文件中的方式相同。如何将 .frx
文件中的图像转换为可以嵌入到 .resx
文件中的图像?
这是部分答案——有一个实用程序可用于执行提取部分。
GfxFromFrx:如何从VB二进制属性文件中提取图形
布拉德·马丁内斯。
它将提取任何格式的资源 - 图标、位图、光标等,并保存到单独的文件中。
来源:
在 .frm 文件中,它包含如下行:
Image = "blah.frx" : 1234
字符串是文件(显然),数字是图像的十六进制偏移量。该位置有一个 12 字节的标头,该标头的最后 4 个字节包含图像的长度(以字节为单位)。图像本身紧跟在 12 字节标头之后。
转换为 .resx 只需在该图像上调用 Convert.ToBase64String() 即可。