掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TImageのようにオブジェクト別にクリックを取得でき、透明な背景に線を引けるクラスは? (ID:20689)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ぽんちゃんさん、ありがとうございます。 これも面白い発想ですね!? 発想を変えて、既存のオブジェクトの機能を判定用に応用できると便利ですし楽しいです。 この形だと、TImageを個別に持つよりもメモリなどで有利になるのかな?と素人考えで感じますが、実際どうなのでしょうね? 実は直線判定をWEBで調べていて、結構簡単に判定できそうだと感じていました。 楕円なども同じように式を見つけられればできそうです。パラメータはきっとDelphiの楕円描画関数などと同じになるのかな? と考えてみて、各オブジェクト用に見えないところに判定用のBitmapをもうひとつ用意すれば?と思いつきました。 その都度、各オブジェクトが描画して座標部分の色を判定する形です。 でも、これだと、別にTImageを持つのとあまり変わらないと気づきました。 その都度やるだけ、かえって遅そうだし・・。 そう考えて、直線は方程式型でやり、楕円などをぽんちゃんさんのサンプル方式でというのも便利な感じがしました。 >なので、本格的にTPanelに描画するなら、 >Win32APIのGetDCなどで、デバイスコンテキストを所得して、 >TPanelに描画するやり方になります。 今までこの掲示板で教えていただいて、Panelへの描画はなんとかなりそうです。 ただ、問題はPanelにTransparentプロパティがないみたいなんですよね。 透明化できるかどうかが課題になると思います。 やり方があるのかな・・? 領域判定だけでも使えればと、ぽんちゃんさんのサンプルでVisibleをFalseにしてみたら、マウスイベントが起きませんね。これ、あたりまえですね・・。 でも、場面によってはとても有効な考え方にできそうです。 ご提案、ありがとうございました! □直線判定の参考になるページ −点と線の領域判定 http://bal4u.dip.jp/mt/program/archives/2004/12/post_3.html −☆もっと簡単に−線分交差判定−☆ http://www5d.biglobe.ne.jp/~tomoya03/shtml/algorithm/Intersection.htm
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.