トップページ > 過去ログ > 記事閲覧
画像
名前:piyoyo 日時: 2009/10/01 23:37

2つの画像が重なったとき決められた方の画像を上にするプログラムはどうすればいいのでしょうか? 説明わかりずらかったらすんません

Page: 1 |

Re: 画像 ( No.1 )
名前:ルーツ 日時:2009/10/02 00:39

プログラムから見て、最初に描画したものは下に、後に描画したものは手前に来るので、その辺を考慮してみるといいかもです 以下、サンプル //後にグラフィックハンドルが渡されたものということで(==;) int GraphA,GraphB; //0で画像Aが手前、1で画像Bが手前 int Flag=0; //画像Aを表にするなら、先に下になる画像Bを描画する if(Flag==0)DrawGraph(0,0,GraphB,TRUE); //画像Aを表にするなら、画像Bが既に描画されているので、その上に画像Aを描画する //画像Bを表にする場合は、下になる画像Aを先に描画する //つまりどっちにしろ描画する必要があるので普通に描画 DrawGraph(0,0,GraphA,TRUE); //画像Bを表にするなら、最後に描画する if(Flag==1)DrawGraph(0,0,GraphB,TRUE); 取り敢えず2枚判定ならこれで出来るかと プログラムでは同じ結果を求めるにも、それに至る書き方は複数存在するので、これだけが正解という訳ではないです 頑張って下さい (--)ノ なんか書込み禁止語句とかでめっちゃ怒られた、、w なんでだw
Re: 画像 ( No.2 )
名前:sy(サイ) 日時:2009/10/02 16:00

描画の際に、上から塗りつぶすように描くのが基本なので、 手前に描きたいものをあとから描けば手前になります。 アルゴリズムとしてはこれだけ。 しかし、そんな都合よくあとから描くことができない場合もあります。 ここにその技術を説明するのは困難なので、「技術名」だけお教えします。 ・Zバッファ この機能は実はDXlibについてます。過去ログ探ると良いでしょう。 あらかじめ描画する順序を数値で設定しておき、Zバッファ機能で描画。 それだけで、設定した順番で表示してくれます。DXLib超便利。 ・バケットソート 簡単に言えば、描画するものを一度リストの中にカテゴリ毎に分けて整理して挿入して、あとから描画するときにカテゴリ毎の順番に従って書くというもの。一度描画するものをリストに整理して置いておくのがミソ。 ここでこんなこと言うのもアレですけどググって見てネ^^; ちなみにZバッファが簡単です。
Re: 画像 ( No.3 )
名前:Piyoyo 日時:2009/10/02 23:00

成功しましたありがとうございます。 プログラムにはあんまり詳しくないんですが、Zバッファというのは複数の画像がある時、値を決めてその順番通りにやるやり方ですか?過去ログ見てみます。
Re: 画像 ( No.4 )
名前:sy(サイ) 日時:2009/10/05 12:58

ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=1317 このログを参考にやってみては?

Page: 1 |