トップページ > 記事閲覧
ウィンドウサイズを縮小させてもぼやけず表示させたい
名前:J子 日時: 2014/01/04 20:22

初めまして。 SetWindowSizeChangeEnableFlag(TRUE); SetWindowStyleMode(0); SetGraphMode(1920,1080,32); SetWindowSize(1280,720); として起動すると1920*1080のサイズが1280*720に縮小して表示されますが、 これではジャギーが目立ってしまいます。 一度描画したものを SetDrawMode( DX_DRAWMODE_BILINEAR ); とした後にDrawExtendGraph関数でウィンドウサイズに合わせて描画するという方法を 考えましたが、プログラムが分かりません。 どうすればウィンドウを縮小した時にきれいに描画できるでしょうか?
メンテ

Page: 1 |

Re: ウィンドウサイズを縮小させてもぼやけず表示させたい ( No.1 )
名前:Saucer 日時:2014/01/06 16:08

最近、私もこの掲示板で似た質問を投稿させていただき、 その時に管理人様が教えて下さったプログラムの基本の 機能を残し、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)
メンテ
Re: ウィンドウサイズを縮小させてもぼやけず表示させたい ( No.2 )
名前:J子 日時:2014/01/05 17:18

Saucer 様 返信遅れました。早速試しましたところ見事バイリニア法で描画されておりました。 ありがとうございました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存