すくろさん(id:zabuado:20050719)

半透明とかFlashとか……ひぇー、流石開発版。結構いろいろな追加装備されてるなぁ。
しかし、やっぱり画像処理が重いようで……
処理速度の性能アップは無理なのかなー(こっちの話題はよくわかんねぇッス……)

ぐれきちさん(id:gurekichi:20050720)

半透明来てました。うぉー、すげー! じゃこれまで妥協してたアレをアレして云々とか
出来るんだー! と喜んでたら非常に処理が重いとのこと……orz

プログラムは基本的にさっぱりなのですがどうにか高速化して実装されることを願ってみる。
DirectX待ちになるのかな?

半透明に反応があったわけですよ。
とりあえず画像バッファなどを使用するように修正したうえで、公式版exeの半透明オプションなしと私家版exeの半透明オプションありを比較したところ、

  • 公式版0.157秒
  • 私家版0.458秒

という結果に。3倍の時間か。アニメさせるには辛いけど、なんとか実用レベルかな?
そんなわけで、次の投稿予定に半透明追加。

そしてTalkコマンドを弄る。よくよく考えたら、フィルタに対応させるの忘れてたんだよね。
で、結果こんなことが出来るように。

Talk マリア フィルタ RGB(255,0,0) 100% 透過

「フィルタ RGB(255,0,0)」だけでは真っ赤になるだけだけど、「透過」を加えることによって「真っ赤なシルエット」を作成可能に。

そんな感じで、従来はTalkコマンドで無効になっていた「透過」オプションの制限を取り払っていたところ、パイロットアイコンはウィンドウにどんどん重ねて描いていってるだけで、いちいち前の画像を消去していない、ということが判明。

ならば、透過オプションで画像を重ねて描画すれば、ちょっとした口パクや通信時のフレーム表示みたいなことが出来そう、ということで「@画像ファイル名」とオプションに指定することで、本来のパイロット画像の代わりに任意の画像を表示できるようにしてみた。

Talk マリア フィルタ RGB(0,255,0) 40%
Talk マリア 透過 @Bitmap\Event\frame.bmp

実行結果がこれ。

せっかく作ったので、この機能も投稿候補に入れておこう。

ついでにモザイク処理も追加。残念ながらモザイクを解除することは出来ない。

gaineさん(id:satfast:20050722)

さて、どうやらTomTomさんが半透明、モザイク機能の追加を行う様子。
さすがに半透明は処理時間がかかるようで。まあ、重いですね、あれは。
でも、どうせなら、DrawOptionにも半透明とか追加してほしいなぁとか思ったりします。

半透明はDirectXでの描画が実装されるまでの繋ぎの意味が大きいですね。VBでやらなくて済むなら、やりたくない処理です(笑)

DrawOptionも考えはしたんですけどね。PaintPictureとまったく処理系統が異なるので諦めました。
実装しようと思ったらLineやらPolygonやら全面書き直しな予感です。

モザイク関係で追加するとしたら、画面に描画済みのものに対してモザイクとかやりたいなー。
全く検討していないので、実現の可能性はわかりませんが。