最近、私もこの掲示板で似た質問を投稿させていただき、
その時に管理人様が教えて下さったプログラムの基本の
機能を残し、J子さんがお求めの機能を組み込みますと、
以下のようになります。
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
int handle, x, add ;
int Screen ;
int ScreenW = 1920 ;
int ScreenH = 1080 ;
int WindowW = 1280 ;
int WindowH = 720 ;
// ウインドウモードで起動
ChangeWindowMode( TRUE );
// 画面とウインドウのサイズを変える
SetGraphMode( WindowW, WindowH, 32 ) ;
// DXライブラリの初期化
if( DxLib_Init() < 0 ) return -1 ;
// オフスクリーンバッファを作成
Screen = MakeScreen( ScreenW, ScreenH, FALSE ) ;
// 画像の読み込み
handle = LoadGraph( "Test1.bmp" ) ;
// メインループ
x = 0 ;
add = 8 ;
while( ProcessMessage() == 0 )
{
// 移動
x += add ;
if( x < 0 || x > ScreenW ) add = -add ;
// 描画先をオフスクリーンバッファにする
SetDrawScreen( Screen ) ;
// 画面のクリア
ClearDrawScreen() ;
// 画像の描画
DrawGraph( x, 0, handle, TRUE ) ;
// 描画先を裏画面にする
SetDrawScreen( DX_SCREEN_BACK ) ;
// 裏画面に縮小描画する
SetDrawMode( DX_DRAWMODE_BILINEAR ) ;
DrawExtendGraph( 0, 0, WindowW, WindowH, Screen, FALSE ) ;
// 裏画面の内容を表画面に反映
ScreenFlip() ;
}
// DXライブラリの後始末
DxLib_End() ;
// ソフトの終了
return 0 ;
}
追記:
BILINEAR = ぼやける
NEAREST = ドットが粗い(ジャギーが目立つ)
では無いでしょうか。
とにかくSetDrawModeで縮小法を変えられる筈です。
(前に私が質問させていただいたスレッドはここです:
http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=3198)