いつもDXライブラリにお世話になっております。
SetUse3DFlag(FALSE) を行った状況でGraphFilterのDX_GRAPH_FILTER_DOWN_SCALEを使用すると
画像が表示されなくなる現象を確認しましたのでご報告いたします。
【再現ソースコード】
#include "DxLib.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
SetUse3DFlag(FALSE); // 3Dの機能を停止 // ★この行をコメントアウトすると画像が表示されます
ChangeWindowMode(TRUE); // ウィンドウモードに
if (DxLib_Init() == -1) { return -1; } // DXライブラリ初期化処理
int Handle = LoadGraph("Animal_Chicken.png");// 画像を読み込む
int result = GraphFilter(Handle, DX_GRAPH_FILTER_DOWN_SCALE, 2);// 縮小フィルターを施す
int result2 = DrawGraph(0, 0, Handle, TRUE);// 画像を画面に描画
DeleteGraph(Handle);// 読み込んだ画像のグラフィックハンドルを削除
// 正常と思われる返り値なら「正常終了」と表示
if (Handle != -1 && result == 0 && result2 == 0) {
DrawString(30, 330, "正常終了", GetColor(255, 255, 255));//表示
}
else {
DrawString(30, 330, "エラー発生", GetColor(255, 255, 255));//表示
}
WaitKey();// キー入力待ち
DxLib_End(); // DXライブラリの後始末
return 0; // ソフトの終了
}
【テストに使用した画像】
silversecond.net/tmp/Animal_Chicken.png
【状況】
上記ソースコードを実行すると、Handleが「-1以外」、GraphFilterとDrawGraphの返り値が共に「0」となり
画面下部に「正常終了」という文字だけは表示されていますが、
表示されて欲しい画像が何も表示されない状態になります。
SetUse3DFlag(FALSE);の行をコメントアウトして実行すると、
同じく「正常終了」という文字が表示されますが、
こちらの方では期待通り、縮小された画像が画面に表示されます。
使用したDXライブラリはVer3.24e(10/13の12:30にダウンロードさせていただいたDxLibVCTest.zip)、
コンパイル環境はVisual Studio Community 2022の「x86」です。
よければ一度ご確認いただけますと幸いです。