MakeScreen という関数で『SetDrawScreen に引数として渡して描画対象にできるグラフィックハンドル』を
作成することができますので、この関数で作成したグラフィックハンドルに対して描画を行い、
最後に裏画面に補間処理なしで拡大描画すれば、補間処理なしの画面の拡大が実現できます
< MakeScreen の関数説明 >
https://dxlib.xsrv.jp/function/dxfunc_graph1.html#R3N25
< ↓ 320 x 240 の画面を 640 x 480 の画面に補間処理無しで拡大して表示するサンプル >
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int ScreenHandle ;
int GrHandle ;
// ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// 320x240 解像度の描画対象にできるグラフィックハンドルを作成
ScreenHandle = MakeScreen( 320, 240, FALSE ) ;
// 画像の読み込み
GrHandle = LoadGraph( "Test1.bmp" ) ;
// メインループ
while( ProcessMessage() == 0 )
{
// 描画先を 320x240 のグラフィックハンドルに変更
SetDrawScreen( ScreenHandle ) ;
// 画面のクリア
ClearDrawScreen() ;
// 画像を描画
DrawGraph( 0, 0, GrHandle, TRUE ) ;
// 描画先を裏画面に変更
SetDrawScreen( DX_SCREEN_BACK ) ;
// 320x240 のグラフィックハンドルを拡大して画面いっぱいに描画
DrawExtendGraph( 0, 0, 640, 480, ScreenHandle, FALSE ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
よろしければお試しください m(_ _)m