3

[プロジェクト設定] -> [リソース] から c# プロジェクトにイメージを追加しまし
た。実行時にこのイメージを取得するにはどうすればよいですか?
私はこれを試しています:

public byte[] GetResource(string ResourceName)
{
    System.Reflection.Assembly asm = Assembly.GetEntryAssembly();

    // list all resources in assembly - for test
    string[] names = asm.GetManifestResourceNames(); //even here my TestImg.png is not presented

    System.IO.Stream stream = asm.GetManifestResourceStream(ResourceName); //this return null of course

    byte[] data = new byte[stream.Length];

    stream.Read(data, 0, (int)stream.Length);

    return data;
}

この関数を次のように呼び出します。

byte[] data = GetResource("TestImg.png");

しかし、プロジェクト エクスプローラーの Resources フォルダーに自分のイメージが表示されます。
ここに画像の説明を入力

誰が何が悪いのか教えてもらえますか?
ここに画像の説明を入力

4

4 に答える 4

8

TestImg.pngファイルを「埋め込みリソース」として設定する必要があります。リソース名は になりますResources/TestImg.png

于 2013-04-01T13:01:47.703 に答える
2

で画像にアクセスできますProperties.Resources.TestImg

于 2013-04-01T13:05:56.357 に答える
2

これは機能します:

    var info = Application.GetResourceStream(uri);
    var memoryStream = new MemoryStream();
    info.Stream.CopyTo(memoryStream);
    return memoryStream.ToArray();

さらに、イメージをドライブに保存する場合:

    var b =
    new Bitmap(namespace.Properties.Resources.image_resouce_name);
    b.Save("FILE LOCATION");
于 2016-12-29T05:04:50.430 に答える