トップページ > 過去ログ > 記事閲覧
画像を途切れずに描画する
名前:レンタッカ 日時: 2012/05/20 16:53

 画像を途切れずに描画することはできない でしょうか。キャラクターの移動をDrawExtendGraph でしようと思ったんだすが、途切れて表示されて しまいます。 DxLibDotNet 3.07fを使用しています。 640×480でウィンドウを作成しました。 DrawBoxだと問題なく四角形を表示できますが、 DrawExtendGraphでがめん端に画像を描画すると 画像が上手く縮小できていないのかY座標側でと ぎれて表示されてしまいます。画像は幅600、 高さ650のものを使用しています。 int grHandle = DX.LoadGraph( "fileName", DX.FALSE); // 下側が途切れて表示される DX.DrawExtendGraph(600, 400, 600 + 40, 400 + 80, grHandle, DX.TRUE) // 途切れず表示できる DX.DrawExtendGraph(0, 0, 40, 80, grHandle, DX.TRUE)

Page: 1 |

Re: 画像を途切れずに描画する ( No.1 )
名前:いっち 日時:2012/05/21 23:48

私の環境でも試してみましたが特に問題ないように見受けられました。 以下はテストに使用した実行ファイルや画面キャプチャ、ソース等です。 (テスト版のDXライブラリを使用していますが、3.07fでも同様の結果になることを確認しています) > h t t p : / / w w w1.axfc.net/uploader/Sc/so/347897.zip&key=dxlib
Re: 画像を途切れずに描画する ( No.2 )
名前:レンタッカ 日時:2012/05/22 11:29

いっちさん確認ありがとうございますw 説明文にSetUserWindowを書き忘れてましたw C#のフォームで SetUserWindow(wHandle); をすると途切れると思います。
Re: 画像を途切れずに描画する ( No.3 )
名前:レンタッカ 日時:2012/05/22 12:00

とりあえず、フルスクリーン処理が簡単になるので SetUserWindowを使用しないコードに書き換え てみようと思います。
Re: 画像を途切れずに描画する ( No.4 )
名前:管理人 日時:2012/05/27 23:30

よろしければレンタッカさんが実際に確認された 「C#のフォームで SetUserWindow を使って画像が途切れてしまう」 プロジェクトを頂けないでしょうか? 原因がわかるかもしれませんので・・・
Re: 画像を途切れずに描画する ( No.5 )
名前:レンタッカ 日時:2012/05/28 08:00

skydrive.live.com/?cid=b9c5984eee6fd19e&sa=84514176#cid=B9C5984EEE6FD19E&id=B9C5984EEE6FD19E%21102 DxLibTestというファイル名になります。ご確認よろしくお願いします。
Re: 画像を途切れずに描画する ( No.6 )
名前:管理人 日時:2012/06/03 19:03

拝見致しました 原因はウインドウのクライアント領域が640x480より小さいためでした Form1.cs で this.Width = 640; this.Height = 480; とされていますが、こちらはウインドウの縁の部分なども含めたサイズの指定なので、 この場合縁の分だけクライアント領域が小さくなります 代わりに this.ClientSize = new System.Drawing.Size(640, 480); という記述に変えて、クライアント領域が 640x480 になるようにしたところ、 右下の画像が途切れることはありませんでした よろしければお試しください m(_ _)m
Re: 画像を途切れずに描画する ( No.7 )
名前:レンタッカ 日時:2012/06/06 00:02

ありがとうございますw すごいですねw できましたw

Page: 1 |