DrawGraph関数👉DrawGraph(300, 230, graphichandle, TRUE);の仕組みを考察してみよう

ソーラー「どう? どう?


ゲーム画面(コマンドプロンプト画面)に


DrawGraph(300, 230, graphichandle, TRUE);


をもちいて


画像を表示するには


2段階の過程が必要なことは理解できた分かった


以下のプログラムを実行しただけでは


ゲーム画面に画像を表示することはできないんだよ」


👇


#include "DxLib.h"


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{



ChangeWindowMode(TRUE); // ウインドウモードに設定します


if (DxLib_Init() == -1) // DXライブラリを初期化処理しています

{

return -1; // DXライブラリの初期化に失敗したら直ちにプログラムを終了します

}



int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);//👈ここです🌞DrawGraph関数を実行しています


WaitKey(); //🌞 キーの入力を待っています 何かキーが入力がされるまで これ以上プログラムは実行されません


DxLib_End(); // DXライブラリの使用を終了します DXライブラリの使用しているメモリ領域が解放されます


return 0; // プログラムを終了します

}


プログラムの実行結果


https://solalion.blogspot.com/2021/07/blog-post_19.html




マックス「2段階・・・


ここはわかりにくいところだが・・・


ところで


そもそも


DrawGraph関数

👇

DrawGraph(300, 230, graphichandle, TRUE);

👆

の仕組みはどうなっているんだ?


この関数の説明がされていないが・・・」


ソーラー「あっ そうだった


まずは


DrawGraph関数

👇

DrawGraph(300, 230, graphichandle, TRUE);

第1引数として記述された

300

第2引数として記述された

230


についてですね


graphichandleには画像データに割り振られたグラフィックハンドル(整数値データ)



格納されています


DrawGraph(300, 230, graphichandle, TRUE);



実行されると


グラフィックハンドル(整数値データ)が割り当てられた


画像データがゲーム画面に表示されることになります


その際


画像データの左上の頂点は


(300,230)


となります


その様子はこちらです

👇

図1


https://solalion.blogspot.com/2021/07/blog-post_632.html


👇

図2

https://solalion.blogspot.com/2021/07/blog-post_294.html



マックス「今回は図が2つか・・・


サービスいいじゃんか」



solarplexuss「(300,230)を左上の頂点


として


画像データが表示されるんだね」


マックス「ということは


DrawGraph(300, 230, graphichandle, TRUE);


でなく


DrawGraph(0, 0, graphichandle, TRUE);


が実行されたら


(0,0)を左上の頂点


として


画像データが表示されるのか」


ソーラー「そのとおりです


そのことを示す図はこちらです

👇

https://solalion.blogspot.com/2021/07/blog-post_82.html




マックス「左の隅っこに表示された!



第3引数の


graphichandleはなんだ?」


solarplexuss「ええ


いまさら そこを聞くぅ?」


ソーラー「DrawGraph関数の第3引数には


表示したい


画像データに割り振られたグラフィックハンドル(整数値データ)


または


グラフィックハンドル(整数値データ)を格納した変数


を記述することになります


今のプログラムの場合


int graphichandle;


graphichandle=LoadGraph("画像データ\\ソーラーが描いた飛行機.bmp");


DrawGraph(300, 230, graphichandle, TRUE);


を実行しているので


int型の変数graphichandleには


ソーラーが描いた飛行機.bmpファイルに保存された画像データに


割り振られたグラフィックハンドル(整数値データ)が格納されています


そして


ソーラーが描いた飛行機.bmpファイルに保存された画像データ


が表示されることになります」










  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る