1

我工作的 Ann 应用程序从.resx文件中的序列化 ImageList 对象中获取其中一些图标。这很糟糕,因为我无法编辑甚至查看 Visual Studio 中的图像。

如何将图像作为文件(PNG 或位图)取回?然后我可以改用它们并删除讨厌的 ascii 资源。


<data name="imageList.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
    <value>
        AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
        ...
        A///AAIACw==
    </value>
</data>

(完整的 ascii 文本长达数百行)

4

2 回答 2

1

我遇到了同样的问题,我在这里找到了一个方便的解决方案。

使用 ResXResourceReader 您可以读取文件并枚举它。

于 2014-02-17T15:07:05.443 回答
1

我遇到了类似的问题 - 但我需要像这样提取数据:

<data name="barButtonItem.LargeGlyph" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
   iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL

...

我在网上搜索了“mime64 到二进制文件”,从那里跳到第一个 mime64 解码器——例如:http ://www.motobit.com/util/base64-decoder-encoder.asp

然后将 mime64 解码为纯二进制。以 .png 扩展名保存 - 瞧 - 我现在有图像了。

我想可以在图标上尝试类似的方法,但不确定这是否适用于它们。可能还需要某种十六进制二进制剪切粘贴。

于 2016-03-18T06:48:56.177 回答