ページ 11

DXライブラリを使用して普通のウインドウに画像を表示したい

Posted: 2011年11月26日(土) 15:06
by taketoshi
DXライブラリの関数を用いて、普通のウインドウに画像を表示したいです。
マウスカーソルを基点に画像が次々と出てくるようなプログラムを書きたいと思っています。
デスクトップ上に透明なウインドウを作り、マウスポインタの位置を取得して
DXライブラリの画像表示関数で、雪やら星やらを降らせたいと思っています。

テストがてら、DXライブラリの描写関数で、CreateWindow関数を用いて使用したウインドウに
DrawRotaGraph関数とSetDrawBlendMod関数で半透過の画像を表示するプログラムを書いてみたのですが
上手く表示することが出来ませんでした。

出力先のハンドル指定などが無いから駄目なのかなぁと思っておりますが
これらの関数はDxLib_Init();で生成したウインドウにしか描写できないのでしょうか?

DXライブラリはαチャンネルの透過が使いやすいので、普通のアプリケーションにも活用してみたいです。
ご教授お願いいたします。

Re: DXライブラリを使用して普通のウインドウに画像を表示したい

Posted: 2011年11月26日(土) 16:41
by softya(ソフト屋)
そうです。DXライブラリはDirectXのウィンドウに描画しますので普通のウィンドウには描画できません。
その代わりに、DXライブラリのウィンドウ自体を透明抜きすることは出来ます。

DXライブラリの本家の掲示板の過去ログを参考にして下さい。
「サンプルと実行結果が同じにならない」
http://hpcgi2.nifty.com/natupaji/bbs/pa ... ew&no=2220

Re: DXライブラリを使用して普通のウインドウに画像を表示したい

Posted: 2011年11月27日(日) 02:36
by taketoshi
ご提示いただいたリンク先から、透過モードをONにするコードを試してみました。
ですが、DXライブラリのウインドウからフォーカスを失うと処理が止まったり、
画像に対して黒フチが残ってしまったり、色々とまだ問題がありそうです。

一筋縄ではいかなそうですので、一先ず閉じてもう少し勉強してみます。
ありがとうございました。