如何从resx中的ImageListStreamer中获取图像文件?

时间:2013-09-24 14:23:29

标签: c# .net visual-studio resx

Ann app我正在处理从.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文本长达数百行)

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我找到了一个方便的解决方案here

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

答案 1 :(得分:0)

我有某种类似的问题 - 但我需要提取这样的数据:

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

...

我已经在网上搜索了#m ;64到二进制文件&#34;,从那里跳到第一个mime64解码器 - 例如:http://www.motobit.com/util/base64-decoder-encoder.asp

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

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