ページ 1 / 1
CImageについて
Posted: 2013年5月16日(木) 17:32
by ライティング
VC++のMFCアプリケーションの画像読み込みについて質問です。
CImage img;
img.Load(画像ファイル);
であるファイルを読み込んで
int i;
i=img.GetWidth();
としたらビルドは上手くいんですが実行するとダイアログが出てきてエラーになります。
どうしたらいいでしょうか?画像ファイルの情報を取得したいです。
Re: CImageについて
Posted: 2013年5月16日(木) 17:52
by softya(ソフト屋)
問題のエラーを教えて下さい。
Re: CImageについて
Posted: 2013年5月16日(木) 17:59
by ライティング
今は環境が無いんでエラーを貼れませんが、構文的に間違ってないでしょうか?
ボタンがクリックされたとき処理する関数の中に
botan clicked()
{
int i;
img.Load(ファイル);
i=img.GetWidth();
}
です。
ボタンを押さなければエラーは出ませんが、ボタンを押したらエラーがでます。
Re: CImageについて
Posted: 2013年5月16日(木) 18:08
by softya(ソフト屋)
まず間違いないく実行時の問題ですから、実行されないと出ないエラーだとは思います。
img.Load(画像ファイル);が失敗している可能性が高いので、HRESULT型の戻り値を確認してください。
「HRESULT 型の取り扱い方法 | いちばんやさしいゲームの作り方」
http://www.game-create.com/archives/395
「COM のエラー処理 (Windows)」
http://msdn.microsoft.com/ja-jp/library ... s.85).aspx
Re: CImageについて
Posted: 2013年5月16日(木) 20:09
by ライティング
エラーは
Debug Assertion Failed!です。赤い丸に白いバツのマークが出てきます。
以下エラー文章です。
Expression: m_hBitmap !=0
For information on how your programa~~~ C++ documentation on asserts.
どうすればいいでしょう?コードとして間違ってますか?
Re: CImageについて
Posted: 2013年5月16日(木) 20:16
by softya(ソフト屋)
私の書いた通りです。戻り値で失敗の原因を探ってください。
ファイルなしのエラーだと思います。
Re: CImageについて
Posted: 2013年5月16日(木) 20:28
by ライティング
フォルダにちゃんと画像ファイルはありますね。
ちゃんとパスも入れてます。
Re: CImageについて
Posted: 2013年5月16日(木) 20:32
by ライティング
ヘッダファイルでCImage img;と宣言しています。
int x;
img.Load(L"C:\\dog.bmp");
x=img.GetWidth;
何がいけないんだろう...
Re: CImageについて
Posted: 2013年5月16日(木) 20:34
by softya(ソフト屋)
ライティング さんが書きました:フォルダにちゃんと画像ファイルはありますね。
ちゃんとパスも入れてます。
それを確認するためにエラー処理を入れてください。
ん? まてよ。
Expression: m_hBitmap !=0
For information on how your programa~~~ C++ documentation on asserts.
あぁ、分かりました2回クリックしたらエラーになりませんか?
2回目以降もロードしているからだと思います。
兎に角エラー処理は基本ですので入れるに越したことはありません。
Re: CImageについて
Posted: 2013年5月16日(木) 20:38
by ライティング
すいません....
そうかもしれません。一回だけクリックしたら何も出てきませんでした。
ということはロードした後解除すればいいんでしょうか?
Re: CImageについて
Posted: 2013年5月16日(木) 21:21
by softya(ソフト屋)
ファイル名が固定で一回しか読まなくて良いのなら、ダイアログならOnInitDialogでLoadすれば良いと思います。
Re: CImageについて
Posted: 2013年5月16日(木) 21:22
by ライティング
ありがとうございます。
Re: CImageについて
Posted: 2013年5月18日(土) 21:02
by ライティング
softyaさん、名前は変えないといけないでしょうか?
同じ人物が何個もトピック作成するのは迷惑ですか?
ライティング=レアコイルですが。
Re: CImageについて
Posted: 2013年5月18日(土) 21:10
by みけCAT
私はsoftyaさんではないですが、真逆です。
フォーラムルール上、名前は統一しないといけません。