如何在 resx 中从 ImageListStreamer 中获取图像文件
本文关键字:获取 图像 文件 ImageListStreamer 中从 resx | 更新日期: 2023-09-27 18:32:40
我正在使用的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文本长达数百行)
我遇到了类似的问题 - 但我需要提取这样的数据:
<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 - 瞧 - 我现在有图像了。
我想可以在图标上尝试类似的方法,但不确定这是否适用于它们。可能还需要某种十六进制二进制剪切膏。
我遇到了同样的问题,我在这里找到了一个方便的解决方案。
使用ResXResourceReader,您可以读取文件并枚举它。