「Xamarin.MacでResource Bundleを利用する」の版間の差分
imported>Administrator 細 Administrator がページ「Xamarin.Mac/Resource Bundleを利用する」を「Xamarin.MacでResource Bundleを利用する」に移動しました |
|||
| (3人の利用者による、間の5版が非表示) | |||
| 1行目: | 1行目: | ||
Xamarin.Macのプロジェクト直下のResourcesフォルダに画像などの各種[[ファイル]]を突っ込んでおくと[[アプリ]]の一部として配布することができる。 | |||
==パスの取得== | == パスの取得 == | ||
いわゆる[[アイコン]]としてみ見える[[Mac]]の[[アプリ]]は[[拡張子]]が「.app」の[[フォルダ]]であり、その中に本当の実行ファイルやリソースなどが詰め込まれている。 | いわゆる[[アイコン]]としてみ見える[[Mac]]の[[アプリ]]は[[拡張子]]が「.app」の[[フォルダ]]であり、その中に本当の実行ファイルやリソースなどが詰め込まれている。 | ||
[[プラットフォーム]]によってはリソースファイルといえばひとつの[[バイナリ]]に固められて専用[[API]]で取り出したりするが、[[Mac OSX]]の場合は単純に「○○○.app/Contents/Resources/」(○○○はアプリ)の中に[[ファイル]]などとして格納されている。 | [[プラットフォーム]]によってはリソースファイルといえばひとつの[[バイナリ]]に固められて専用[[API]]で取り出したりするが、[[Mac OSX]]の場合は単純に「○○○.app/Contents/Resources/」(○○○はアプリ)の中に[[ファイル]]などとして格納されている。 | ||
| 8行目: | 8行目: | ||
<source lang="csharp"> | <source lang="csharp"> | ||
using System.IO; | using System.IO; | ||
using | using Foundation; | ||
// 中略 | // 中略 | ||
| 17行目: | 17行目: | ||
</source> | </source> | ||
==関連項目== | == 関連項目 == | ||
*[[ | * [[Xamarin.Mac/ボタンに画像を貼り付ける]] | ||
==参考文献== | == 参考文献 == | ||
{{reflist}} | {{reflist}} | ||
{{stub}} | {{stub}} | ||
[[category:MonoMac]] | |||
[[category:Xamarin.Mac]] | |||
2017年12月21日 (木) 01:32時点における最新版
Xamarin.Macのプロジェクト直下のResourcesフォルダに画像などの各種ファイルを突っ込んでおくとアプリの一部として配布することができる。
パスの取得[編集 | ソースを編集]
いわゆるアイコンとしてみ見えるMacのアプリは拡張子が「.app」のフォルダであり、その中に本当の実行ファイルやリソースなどが詰め込まれている。 プラットフォームによってはリソースファイルといえばひとつのバイナリに固められて専用APIで取り出したりするが、Mac OSXの場合は単純に「○○○.app/Contents/Resources/」(○○○はアプリ)の中にファイルなどとして格納されている。
アプリのルートディレクトリはNSBundle.MainBundle.BundlePathプロパティで取得できるので、あとは決め打ちえ「Contents」と「Resources」を付け加えてやればよい。なお、ディレクトリセパレータはWindowsではバックスラッシュだがMacではスラッシュなので、そこら辺はSystem.IO.Path.Combineメソッドに任せておいた方が無難だと思われる。
using System.IO;
using Foundation;
// 中略
var path = Path.Combine(NSBundle.MainBundle.BundlePath, "Contents", "Resources");
var file = "images-blue.png";
var image = new NSImage(Path.Combine(path,file));