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

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

前提

・C#

・Visual Studio

 

実装

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

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


static BitmapSource GetEmbeddedImage(string name)
{
    try
    {

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

    }
    catch
    {
        return null;
    }
}

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

 

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