LoadGraph関数で画像を読み込むときにエラーが発生する

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
burotenn
記事: 3
登録日時: 1年前

LoadGraph関数で画像を読み込むときにエラーが発生する

#1

投稿記事 by burotenn » 1年前

C言語を始めたばかりの初心者です。
ゲーム制作はどのようにしてするのか気になり「ゲームプログラミングの館」のソースコードを変えて応用していたのですが、以下のソースコードを実行しても画像が表示されませんでした。

コード:

 
 
 #include "DxLib.h"

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
    ChangeWindowMode(TRUE), DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK); //ウィンドウモード変更と初期化と裏画面設定

    int Handle00, Handle01;     // 画像格納用ハンドル
    Handle00 = LoadGraph("画像/tutorial.png"); // 画像のロード
    Handle01 = LoadGraph("画像/settings.png"); // 画像のロード

    // while(裏画面を表画面に反映, メッセージ処理, 画面クリア)
    while (ScreenFlip() == 0 && ProcessMessage() == 0 && ClearDrawScreen() == 0) {

        DrawGraph(0, 0, Handle00, TRUE); //画像の描画
        DrawGraph(520, 0, Handle01, TRUE); //画像の描画

    }

    DxLib_End(); // DXライブラリ終了処理
    return 0;
}
 
 
他にもこのような質問をしている方がいたので、閲覧していると log.txt でエラーを吐いていて 

"1007:Movie File Open Error : 画像/tutorial.png
1007:ムービーファイルオープン処理時にエラーが発生しました
Image File Load Error : 画像/tutorial.png

1045:Movie File Open Error : 画像/settings.png
1045:ムービーファイルオープン処理時にエラーが発生しました
Image File Load Error : 画像/settings.png "

と書かれていました。
画像のプロパティを見てみたのですが、ちゃんとpngファイルでなぜムービーファイルと判定されているのかわかりません。
調べたりもしたのですが対処法が判らず、足止めを食らっています。
どのようにすれば、pngファイルを読み込むことができるのでしょうか。

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: LoadGraph関数で画像を読み込むときにエラーが発生する

#2

投稿記事 by みけCAT » 1年前

burotenn さんが書きました:
1年前
log.txt でエラーを吐いていて 

"1007:Movie File Open Error : 画像/tutorial.png
1007:ムービーファイルオープン処理時にエラーが発生しました
Image File Load Error : 画像/tutorial.png

1045:Movie File Open Error : 画像/settings.png
1045:ムービーファイルオープン処理時にエラーが発生しました
Image File Load Error : 画像/settings.png "

と書かれていました。
DXライブラリ Ver3.24 で試した所、空 (0バイト) の tutorial.png および settings.png で再現できました。
また、該当のファイルを置かなかった場合は別のメッセージが出ました。
burotenn さんが書きました:
1年前
画像のプロパティを見てみたのですが、ちゃんとpngファイルでなぜムービーファイルと判定されているのかわかりません。
画像のプロパティで表示されるファイルの種類は、中身を見ずに拡張子だけで判定している可能性があります。
ファイルの中身をチェックし、正しい形式か確認しましょう。
例えば、正しいPNGファイルであれば最初の8バイトは 89 50 4E 47 0D 0A 1A 0A (16進数) となるはずです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

burotenn
記事: 3
登録日時: 1年前

Re: LoadGraph関数で画像を読み込むときにエラーが発生する

#3

投稿記事 by burotenn » 1年前

バイナリエディタを用いて見てみたところ
"FF D8 FF E0 00 10 4A 46"
とファイルがjepgであることが分かりました。
ご回答ありがとうございました。

返信

“C言語何でも質問掲示板” へ戻る