導入してますがサンプル画像表示せず。

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

導入してますがサンプル画像表示せず。

#1

投稿記事 by Konno » 16年前

はじめまして。
今野と申します。
Dxライブラリを導入しているところですが、最初から躓いてしましました。
皆様、よろしく、ご教授願います。
症状:
画像char.pngをサンプルプログラム実行用フォルダに保存して、以下のプログラム実行

#include "DxLib.h"
char st1[/url]="画像の保存場所が違うか、ファイル名が違うため、表示できません。";
char st2[/url]="正常に認識されています。";

int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) return -1;


if(LoadGraphScreen( 0 , 0 , "char.PNG" , TRUE ) == -1)
DrawString(50,220,st1,GetColor(255,255,255));
else
DrawString(50,220,st2,GetColor(255,255,255));


WaitKey() ;
DxLib_End() ;
return 0 ;
}

"画像の保存場所が違うか、ファイル名が違うため、表示できません。"が表示。
直線や円などは自由に表示できます。
なお、実行用フォルダパスは以下になります。
C:\Documents and Settings\********\My Documents\Visual Studio 2008\DxLib_VC\サンプルプログラム実行用フォルダ

使用環境
PC:Vaio VGN-T71B
OS:XP
Compiler:Visual C++ 2008 Express Edition

こめかみ

Re:導入してますがサンプル画像表示せず。

#2

投稿記事 by こめかみ » 16年前

>画像char.pngをサンプルプログラム実行用フォルダに保存して、以下のプログラム実行
>
>if(LoadGraphScreen( 0 , 0 , "char.PNG" , TRUE ) == -1)

pngの文字サイズをそろえてみるとかどうでしょうか。


char.PNGとchar.pngの違いで認識されなかったりするかもです。

Justy

Re:導入してますがサンプル画像表示せず。

#3

投稿記事 by Justy » 16年前

 このプログラムを実行するとどうなりますか?
 もし「~は存在しません」と表示されたのなら、表示されたパスに画像がありますか?

[color=#d0d0ff" face="monospace" >
#include "DxLib.h"
#include <shlwapi.h>
#include <string>

#pragma comment(lib, "shlwapi.lib")

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
ChangeWindowMode(TRUE);
if(DxLib_Init() == -1) return -1;

char currDir[MAX_PATH];
GetCurrentDirectoryA(MAX_PATH, currDir);

std::string s(currDir);
s += "\\char.PNG";
if(::PathFileExistsA(s.c_str()))
s += "は存在します";
else
s += "は存在しません";
::MessageBoxA(GetMainWindowHandle(), s.c_str(), "Info", MB_OK);

DxLib_End();
return 0;
}
[/color]

Konno

Re:導入してますがサンプル画像表示せず。

#4

投稿記事 by Konno » 16年前

こめかみさん、Justyさんへ
ご指導ありがとうございます。
まず、以下の事を行いました
(1)拡張子"PNG"の小文字"png"への変更→状況変わらず。
(2)Jusyさんのプログラム実行
C:\Documents and Setting\Konno\My Documents\VisualStadio2008\Projects\test_dx\Char.PNGは存在しません。
というメッセージが出た。

Char.PNGがあるDxLib_VCフォルダは「VisualStadio2008」フォルダの中にあり「test_dx」の中には入れていませんでした。
よってChar.PNGのファイルだけコピーし、test_dxフォルダに入れたら正常動作しました。
画像ファイルはそれを使うプロジェクトのフォルダに入れないといけないのでしょうか?

Konno

Justy

Re:導入してますがサンプル画像表示せず。

#5

投稿記事 by Justy » 16年前


>画像ファイルはそれを使うプロジェクトのフォルダに入れないといけないのでしょうか?

 使うプロジェクトのフォルダに入れる、というかアプリから読むときに相対パスで
ただ "xxx.png"と指定したのなら、カレントディレクトリにそのファイルがなければなりません。

 カレントディレクトリは直接 exeをダブルクリックすればその exeのあるディレクトリが
カレントディレクトリとなりますが、特に何の設定もしていない状態で
VisualStudioのデバッガから実行したのであれば vcprojファイルのあるディレクトリが
基準となりますので、そのディレクトリからアクセスできる状態でなければなりません。


 デバッガから実行した時のカレントディレクトリを変更するにはプロジェクトのプロパティから
「構成プロパティ -> デバッグ」の「作業ディレクトリ」でパスを指定すると
起動したときに自動的にそのパスをカレントディレクトリにして起動してくれますので
この機能を使って直接 "DxLib_VCフォルダ"を指定してしまってもいいかもしれません。

Konno

Re:導入してますがサンプル画像表示せず。

#6

投稿記事 by Konno » 16年前

Justyさん
アドバスありがとうございました。
初歩的な質問だったのかもしれませんね。
ご丁寧にありがとうございました。
これから学習していきます。


Konno

Konno

Re:導入してますがサンプル画像表示せず。

#7

投稿記事 by Konno » 16年前

解決しました。

皆様、ありがとうございました。

Konno

閉鎖

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