トップページ > 過去ログ > 記事閲覧
SetWindowSizeExtendRateの使い方
名前:詩鳥 日時: 2010/02/12 04:38

SetWindowSizeExtendRate関数についてなのですが、 大きくなった画面の左上に表示したい画像が普通サイズで表示され、右と下部分は黒で何も表示されません もしかしたら私が関数の機能を間違って解釈しているのかも知れませんが、 ウィンドウ内に表示されているものも含めて、ウィンドウサイズをExRate倍にする、 というものと解釈していますが、どうでしょうか? DxLib_Init()の前か後かについては両方試してもだめだったのですが、どこかの記事に前のほうがいいというようなことが書かれていたので、前に書いてます あと、いくつかの環境で動作させても同じ結果になったので、環境による問題ではないのかな、と思っております 下に書いたように簡単なソースに落としてみても同様の状態だったので、もう自分では対処出来ないみたいです どなたか助言よろしくお願いいたします、、! //DXライブラリは最新バージョンです #include "DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){ int GHandle ; ChangeWindowMode( TRUE) ; SetGraphMode(800,480,32); SetWindowSizeExtendRate(1.5) ; if( DxLib_Init() == -1 )return -1; SetDrawScreen( DX_SCREEN_BACK ); GHandle = LoadGraph( "a.png" ) ; while(CheckHitKeyAll() == 0 ){ DrawGraph( 0 , 0 , GHandle , FALSE ) ; ScreenFlip() ; ClearDrawScreen(); if( ProcessMessage() == -1 )break ; } DxLib_End() ; return 0 ; }

Page: 1 |

Re: SetWindowSizeExtendRateの使い方 ( No.1 )
名前:いっち 日時:2010/02/12 13:05

おそらくSetWindowSizeExtendRate関数はウィンドウのサイズをn倍して表示するという関数であって、 ウィンドウのサイズとウィンドウの中に表示されるグラフィックの比率は変わらないのだと思います。 (ウィンドウもグラフィックもn倍される) > ウィンドウ内に表示されているものも含めて、ウィンドウサイズをExRate倍にする、 > というものと解釈していますが、どうでしょうか? あれ、解釈は同じっぽいですね。 画像のサイズがn倍されないということでしょうか? (私の環境ではされているように見受けられます)
Re: SetWindowSizeExtendRateの使い方 ( No.2 )
名前:詩鳥 日時:2010/02/12 14:21

んーと、、なんて書いたらいいか分からないんですけども 800x480のウィンドウに800x480の画像を表示しているとして、 SetWindowSizeExtendRateで2.0倍したらウィンドウサイズが1600x960で、 その中に画像が画面いっぱいまで拡大されて表示されるものかと思ったのですが。どうでしょうか、? 今のままだと、ウィンドウサイズが拡大しても実際の画像のサイズは変化しなく、ExRate倍されて拡大された領域は真っ黒のまま上、その領域に画像を表示することもできないみたいです、、 伝わりにくいかもしれませんので、状態のスクショをアップしておきました 800x600の画面に800x600の画像を表示して1.2倍して表示しました URLバーに貼り付けないと見れないみたいです http://xzearthx.web.fc2.com/sample.jpg
Re: SetWindowSizeExtendRateの使い方 ( No.3 )
名前:Will 日時:2010/02/12 15:03

最初のプログラムをそのままコンパイルしてためしてみましたが、問題なく拡大されましたよ。 OSとかグラフィックドライバの問題ですかね? 当方 PC:DELL Vostro1000 OS:WinXP Pro SP3 DX:3.00e
Re: SetWindowSizeExtendRateの使い方 ( No.4 )
名前:詩鳥 日時:2010/02/12 16:20

むぅ、そうですか・・・ やはり環境の問題なのでしょうか こちらの環境は OS:XP Pro SP3 PC:DELL inspiron 1501 グラフィック:ATI Radeon Xpress 1150 DX:3.01 です 他で試したものだと OS:XP Home SP3 PC:自作 グラフィック:GeForce9600GT OS:XP Home SP3 PC:ASUS EeePC1000HA OS:XP Pro SP3 PC:自作 グラフィック:GeForce9800GT その他友人のマシン数台で試しても全て同様でした 環境を選ぶ関数なのかなぁ、、、
Re: SetWindowSizeExtendRateの使い方 ( No.5 )
名前:Will 日時:2010/02/12 18:27

コンパイラはVCですか?BCCですか? 私はVC++2008EEですけど。
Re: SetWindowSizeExtendRateの使い方 ( No.6 )
名前:いっち 日時:2010/02/12 18:29

うーん、謎ですね。 念のため、現象再現時のLog.txtを貼り付けて頂けますでしょうか? 私が見ても何もわかりませんが、管理人さんが見たらわかるかもしれませんので。 (Log.txtは実行フォルダの中にあると思います。)
Re: SetWindowSizeExtendRateの使い方 ( No.7 )
名前:いっち 日時:2010/02/12 18:46

バイナリに問題は無いと思いますが、念のため私の環境で作成したモジュールをアップロードしました。 もしよろしければ、詩鳥さんの環境で試してみてください。 800x600のウィンドウに800x600のpngを読み込み、1.2倍して表示しています。 ttp://gigabyteserver.com/uploader01/upload.php?down=1111 パスは"dxlib"です。
Re: SetWindowSizeExtendRateの使い方 ( No.8 )
名前:詩鳥(解決?しました) 日時:2010/02/12 22:31

いっちさんの物で正常に動作できたので、Logファイルを見比べていたのですが、ライブラリのバージョンが3.01a・・・ もしやと思い、掲示板のほうにあるテスト版?か分かりませんが、ライブラリだけのセットの物を使用してみたところ正常に動作しました! 3.01→3.01aへの変更で改善されていたみたいです なんでだろう、、w よく分からないですけど、取り合えず解決したみたいです 皆さんどうもありがとうございましたっ!!
Re: SetWindowSizeExtendRateの使い方 ( No.9 )
名前:管理人 日時:2010/02/15 00:17

すいません、詩鳥さんが遭遇したバグは 3.01 以降に修正したバグだったのだと思います なるべくはやく正式版としてアップします

Page: 1 |