CImageについて
-
ライティング
CImageについて
VC++のMFCアプリケーションの画像読み込みについて質問です。
CImage img;
img.Load(画像ファイル);
であるファイルを読み込んで
int i;
i=img.GetWidth();
としたらビルドは上手くいんですが実行するとダイアログが出てきてエラーになります。
どうしたらいいでしょうか?画像ファイルの情報を取得したいです。
CImage img;
img.Load(画像ファイル);
であるファイルを読み込んで
int i;
i=img.GetWidth();
としたらビルドは上手くいんですが実行するとダイアログが出てきてエラーになります。
どうしたらいいでしょうか?画像ファイルの情報を取得したいです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: CImageについて
問題のエラーを教えて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
ライティング
Re: CImageについて
今は環境が無いんでエラーを貼れませんが、構文的に間違ってないでしょうか?
ボタンがクリックされたとき処理する関数の中に
botan clicked()
{
int i;
img.Load(ファイル);
i=img.GetWidth();
}
です。
ボタンを押さなければエラーは出ませんが、ボタンを押したらエラーがでます。
ボタンがクリックされたとき処理する関数の中に
botan clicked()
{
int i;
img.Load(ファイル);
i=img.GetWidth();
}
です。
ボタンを押さなければエラーは出ませんが、ボタンを押したらエラーがでます。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: CImageについて
まず間違いないく実行時の問題ですから、実行されないと出ないエラーだとは思います。
img.Load(画像ファイル);が失敗している可能性が高いので、HRESULT型の戻り値を確認してください。
「HRESULT 型の取り扱い方法 | いちばんやさしいゲームの作り方」
http://www.game-create.com/archives/395
「COM のエラー処理 (Windows)」
http://msdn.microsoft.com/ja-jp/library ... s.85).aspx
img.Load(画像ファイル);が失敗している可能性が高いので、HRESULT型の戻り値を確認してください。
「HRESULT 型の取り扱い方法 | いちばんやさしいゲームの作り方」
http://www.game-create.com/archives/395
「COM のエラー処理 (Windows)」
http://msdn.microsoft.com/ja-jp/library ... s.85).aspx
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
ライティング
Re: CImageについて
エラーは
Debug Assertion Failed!です。赤い丸に白いバツのマークが出てきます。
以下エラー文章です。
Expression: m_hBitmap !=0
For information on how your programa~~~ C++ documentation on asserts.
どうすればいいでしょう?コードとして間違ってますか?
Debug Assertion Failed!です。赤い丸に白いバツのマークが出てきます。
以下エラー文章です。
Expression: m_hBitmap !=0
For information on how your programa~~~ C++ documentation on asserts.
どうすればいいでしょう?コードとして間違ってますか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: CImageについて
私の書いた通りです。戻り値で失敗の原因を探ってください。
ファイルなしのエラーだと思います。softya(ソフト屋) さんが書きました:まず間違いないく実行時の問題ですから、実行されないと出ないエラーだとは思います。
img.Load(画像ファイル);が失敗している可能性が高いので、HRESULT型の戻り値を確認してください。
「HRESULT 型の取り扱い方法 | いちばんやさしいゲームの作り方」
http://www.game-create.com/archives/395
「COM のエラー処理 (Windows)」
http://msdn.microsoft.com/ja-jp/library ... s.85).aspx
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
ライティング
Re: CImageについて
ヘッダファイルでCImage img;と宣言しています。
int x;
img.Load(L"C:\\dog.bmp");
x=img.GetWidth;
何がいけないんだろう...
int x;
img.Load(L"C:\\dog.bmp");
x=img.GetWidth;
何がいけないんだろう...
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: CImageについて
それを確認するためにエラー処理を入れてください。ライティング さんが書きました:フォルダにちゃんと画像ファイルはありますね。
ちゃんとパスも入れてます。
ん? まてよ。
あぁ、分かりました2回クリックしたらエラーになりませんか?Expression: m_hBitmap !=0
For information on how your programa~~~ C++ documentation on asserts.
2回目以降もロードしているからだと思います。
兎に角エラー処理は基本ですので入れるに越したことはありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: CImageについて
ファイル名が固定で一回しか読まなくて良いのなら、ダイアログならOnInitDialogでLoadすれば良いと思います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: CImageについて
私はsoftyaさんではないですが、真逆です。
フォーラムルール上、名前は統一しないといけません。
フォーラムルール上、名前は統一しないといけません。
オフトピック
ですよね
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)