如何从 VB6 .frx 文件中提取图像?

问题描述 投票:0回答:2

我正在将一些 VB6 代码转换为 C#。 VB6 将资源存储在

.frx
文件中,与 C# 将资源存储在
.resx
文件中的方式相同。如何将
.frx
文件中的图像转换为可以嵌入到
.resx
文件中的图像?

c# vb6 resources resx vb6-migration
2个回答
10
投票

这是部分答案——有一个实用程序可用于执行提取部分。

GfxFromFrx:如何从VB二进制属性文件中提取图形

布拉德·马丁内斯。

它将提取任何格式的资源 - 图标、位图、光标等,并保存到单独的文件中。

来源:


6
投票

在 .frm 文件中,它包含如下行:

    Image = "blah.frx" : 1234

字符串是文件(显然),数字是图像的十六进制偏移量。该位置有一个 12 字节的标头,该标头的最后 4 个字节包含图像的长度(以字节为单位)。图像本身紧跟在 12 字节标头之后。

转换为 .resx 只需在该图像上调用 Convert.ToBase64String() 即可。

© www.soinside.com 2019 - 2024. All rights reserved.