-1

現在、プログラム内からイメージ「staticmap.bmp」にアクセスできるようにしようとしています。これにより、プログラムを別のコンピューターに転送してもイメージにアクセスできます。ファイルをプログラム ファイルに転送しようとしましたが、Visual Studio タブにそこにあると表示されません。おそらく、間違った場所に移動していますか? それか、私はそれを正しく呼び出していますか?

画像ファイルを呼び出すために必要な画像ファイルの場所を知っている人はいますか?

ここにコードがあります、

Image image = Image.FromFile("staticmap.bmp");
4

5 に答える 5

2

次のようにファイルを開きたいだけの場合:

Image image = Image.FromFile("staticmap.bmp");

次に、 staticmap.bmp が実行可能ファイルと同じフォルダーにある必要があります。

于 2012-12-13T22:16:16.347 に答える
1

ソリューション エクスプローラーで画像を右クリックし、[プロパティ] を選択します。「ビルド アクション」を「コンテンツ」に、「出力ディレクトリにコピー」を「常にコピー」に設定して、ビルド時にイメージが実行可能ファイルと同じディレクトリにコピーされるようにします。

または、ソリューション エクスプローラーでプロジェクトを右クリックし、[プロパティ] を選択して [リソース] タブに移動し、[リソースの追加] ボタンの右側にある小さな矢印を押して、[既存のファイルを追加] を選択し、リソースとして使用する画像を選択します。次に、次のように使用できます。

Image image = Properties.Resources.staticmap;
于 2012-12-13T22:35:50.200 に答える
1

アプリケーションに埋め込みリソースとして追加します。簡単な Google 検索で、これを行うためのチュートリアルが見つかります。

于 2012-12-13T22:15:22.130 に答える
0

リソースを追加する必要があります - プロジェクト、プロパティ、リソースを右クリックします。

msdn ドキュメントを参照してください

于 2012-12-13T22:16:19.750 に答える
0

アプリケーションは、このように開始されたディレクトリを特定できます

string dir = System.IO.Path.GetDirectoryName(
    System.Windows.Forms.Application.ExecutablePath
);

別の方法は次のとおりです (WinForms への参照がない場合):

string dir = System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetEntryAssembly().Location
);

イメージがImagesアプリケーションディレクトリ内のサブディレクトリにある場合

Image image = Image.FromFile(System.IO.Path.Combine(dir, @"Images\staticmap.bmp"));
于 2012-12-13T22:27:05.873 に答える