1

私が取り組んでいる Ann アプリは、ファイル内のシリアル化された ImageList オブジェクトからいくつかのアイコンを取得し.resxます。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

どういうわけか同様の問題がありましたが、次のようなデータを抽出する必要がありました:

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

...

「mime64 to binary file online」をグーグルで検索し、そこから最初のmime64デコーダーにジャンプしました-たとえば、次のように: http://www.motobit.com/util/base64-decoder-encoder.asp

次に、mime64 をプレーン バイナリにデコードします。拡張子 .png で保存 - できあがり - 画像が戻ってきました。

同様のアプローチをアイコンで試すことができると思いますが、これが機能するかどうかはわかりません。ある種の 16 進バイナリ カット ペーストも必要になる場合があります。

于 2016-03-18T06:48:56.177 に答える
1

私は同じ問題を抱えていて、ここで便利な解決策を見つけました。

ResXResourceReader を使用すると、ファイルを読み取って列挙できます。

于 2014-02-17T15:07:05.443 に答える