質問: array; } } ``` ※『Def.X』はint値の1、『Def.Y』はint値の1、『Def.XY』はint値の2となります。 イメージを格納しているフォルダの構成は以下の形です。 ![フォルダ構成](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/94e03291438994647f3ea2aef6f3c900.jpeg) ※画像button_red.pngの縦横幅は128x128です。 ### 試したこと 実行したところ、temp.Width、temp.Heightは-1を返してきます。 その状態でImageConverter.ConvetToを実行すると、System.InvalidCastExceptionが発生します。 リソースIDを色々と変えてみたのですが、temp.Width、temp.Heightの値は-1のままでした。 System.InvalidCastExceptionも同様に発生します。 srcについては、リソースIDの内容に関わらず、nullではなく何らかのImageSourceの参照が入っていることは確認しました。 また、asmはメインのAssemblyである、ShikonMulti.dllを取得できています。 20210610:追記 リソースIDそれ自体は正しいのではないかと判断しています。 また、ImageConverter.CanConvaertTo(typeof(byte[]))についてはtrueを返していることが確認できました。 ### お尋ねしたいこと 上記の状態において、リソースIDは正しく指定されておりますでしょうか? また、縦横幅の取得方法とバイナリ化の手段に何か問題はありますでしょうか? 何かお気付きの点などありましたらご指摘をお願いいたします。
回答: 回答者からはどこまで正しく動いてるか知る術はないので、まず自身でデバッグして原因を切り分けて頂くしかないかと。 ・リソースの名前が正しいか ・実際にリソースの名前を指定してファイルの中身を取り出せるか ・リソース以外の方法で同一ファイルを読み込めるか(ファイル指定、Stream指定など) とりあえずGetManifestResourceNamesで、名前を確認する所から始めてみてはどうでしょう。 埋め込まれているリソースの名前を取得する