DXライブラリ 画像表示できない

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
C言語勉強中

DXライブラリ 画像表示できない

#1

投稿記事 by C言語勉強中 » 10年前

僕はいま ゲーム作りに挑戦してるのですが DXライブラリ VC++
画面表示ができなくて困っています 調べてみても絶対パスやら意味わからん言葉が一杯です;
このようなソースでしたのですが
#include <DxLib.h>

int WINAPI WinMain(HINSTANCE h1, HINSTANCE hP, LPSTR lpC, int nC){
//ウィンモードにする
ChangeWindowMode(TRUE);
//DXライブラリ初期化
if (DxLib_Init() == -1) return -1;

//画像読み込み
int ghandle = LoadGraph("ファイル¥¥preview.bmp");
DrawGraph(0, 0, ghandle, TRUE);

//待機
WaitKey();
//DXライブラリの終了処理
DxLib_End();
return 0;
}
ファイル名も画像名もあってると思いますし 何がいけないのでしょうか・・

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

Re: DXライブラリ 画像表示できない

#2

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

コードを提示する時は、BBCodeを有効にした(無効にしない)状態でcodeタグでかこんでいただくと、見やすくてありがたいです。
C言語勉強中 さんが書きました: //画像読み込み
int ghandle = LoadGraph("ファイル¥¥preview.bmp");
C言語勉強中 さんが書きました:ファイル名も画像名もあってると思いますし
思うだけでなく、本当にあっているか確認してください。
Log.txtにエラーは出ていませんか?
Windowsで一般的に使われるディレクトリの区切りは¥¥ではなく\です(C++の文字列リテラル中ではエスケープシーケンスを用いて\\と書きます)。
コマンドプロンプトまたはショートカットを用いて起動することで、プログラムのカレントディレクトリを確定するのもいいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: DXライブラリ 画像表示できない

#3

投稿記事 by Dixq (管理人) » 10年前

間違い

コード:

"ファイル¥¥preview.bmp"
正解

コード:

"ファイル/preview.bmp"
です。
DXライブラリについては当館のゲームプログラミングの館に使い方紹介していますので参考ください。
http://dixq.net/g/

C言語勉強中

Re: DXライブラリ 画像表示できない

#4

投稿記事 by C言語勉強中 » 10年前

Dixq (管理人)さんの
DXライブラリの使い方を見てみたのですが
キャラクタ00.png もダウンロードし
#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
DxLib_Init(); // DXライブラリ初期化処理

LoadGraphScreen( 50, 100, "画像/キャラクタ00.png", TRUE ); // 画像を描画する

WaitKey(); // キー入力待ち
DxLib_End(); // DXライブラリ終了処理
return 0;
}
を書いたのですが どうしても画面表示ができません
やり方と同じだと思いますしなぜでしょうか:

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

Re: DXライブラリ 画像表示できない

#5

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

C言語勉強中 さんが書きました:Dixq (管理人)さんの
DXライブラリの使い方を見てみたのですが
キャラクタ00.png もダウンロードし
#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
DxLib_Init(); // DXライブラリ初期化処理

LoadGraphScreen( 50, 100, "画像/キャラクタ00.png", TRUE ); // 画像を描画する

WaitKey(); // キー入力待ち
DxLib_End(); // DXライブラリ終了処理
return 0;
}
を書いたのですが どうしても画面表示ができません
やり方と同じだと思いますしなぜでしょうか:
エスパーではないのでわかりません。
  • 画像があるべき位置にない
  • 画像ファイルの読み取り権限が無い
  • 画像ファイルが壊れている(内容が不正)
  • 読み込んだ画像が透明または真っ黒
  • セキュリティソフトが悪さをしている
  • SmartScreenが悪さをしている(?)
  • Windowsの設定で特定のファイル名、もしくは特定のファイル名以外のプログラムを起動できなくなっている
  • ディスプレイの電源が落ちている
  • ディスプレイとパソコンが繋がっていない
  • ディスプレイとパソコンを繋ぐケーブルが断線している
など、様々な原因が考えられます。
もしも解決したいのであれば、回答者に指摘された点をきちんと確認・改善し、その結果を報告してください。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

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

Re: DXライブラリ 画像表示できない

#6

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

もしLog.txtにエラーメッセージが出ているのであれば、そこに書かれているパスに画像ファイルを読み取り可能な状態で置くといいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

C言語勉強中

Re: DXライブラリ 画像表示できない

#7

投稿記事 by C言語勉強中 » 10年前

みけCAT さん
書かれていません::
エラーも起きなくできるのですが 画像だけがどうしても読み込まれません

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

Re: DXライブラリ 画像表示できない

#8

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

C言語勉強中 さんが書きました:書かれていません::
エラーも起きなくできるのですが 画像だけがどうしても読み込まれません
環境の問題かもしれません。
画像だけということは、テキストや図形はうまく描画されるのですか?
  • 使用しているDXライブラリが最新版でなければ、最新版を使用してみてください。
  • それでも改善しなければ、DxLib_Init();の前にSetUse3DFlag(FALSE);を実行するといいかもしれません。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: DXライブラリ 画像表示できない

#9

投稿記事 by Dixq (管理人) » 10年前

画像の保存場所が違うか、書いているソースコードが違う物を更新しているのではないでしょうか。
先ほどのサイトの「VisualStudio2012以降のプロジェクトはこちら」から一式プロジェクトをダウンロードし、
GameProg_2012.vcxproj
を起動し、ソリューションエクスプローラーからmain.cppをダブルクリックして開いてソースコードを書いてCtrl+F5を押して下さい。

閉鎖

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