この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:T
更新日時:2020-08-30 10:49:08

タイトル: 相対パスでdllにアイコン画像を埋め込む方法
SEOタイトル: 【Revit API】相対パスでdllにアイコン画像を埋め込む方法

この記事の要点
  • C# / Visual Studio でDLL に相対パスでアイコン画像を埋め込む
  • 配置: プロジェクト直下に Resources ディレクトリを作って画像を保存
  • ビルド: 画像のプロパティで 「埋め込まれたリソース」に設定
  • 参照: System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(...)

 

前提

・C#

・Visual Studio

 

実装

プロジェクトの直下に「Resources」ディレクトリを作成してその中にアイコン画像を保存することとする。

public Result OnStartup(UIControlledApplication application)
{
    ...
    
    pushButton.LargeImage =
GetEmbeddedImage("SampleNameSpace.SampleDirectory.SampleImage.png");
    
    return Result.Succeeded;
}


static BitmapSource GetEmbeddedImage(string name)
{

    Assembly a = Assembly.GetExecutingAssembly();
    Stream s = a.GetManifestResourceStream(name);
    return BitmapFrame.Create(s);

}

GetEmbeddedImageの引数は「実行ファイルの名前空間.(ディレクトリ名).画像ファイル名」とする。

 

Visual Studio側で画像ファイルを選択して以下のようにビルドアクションのプロパティを「埋め込みリソース」に変更する。