VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/01/19(Wed) 11:48
投稿者ダンボ
URL
タイトル複数のボタンを楕円と直線で(実装方式検討)

★ - 複数のボタンを楕円で過不足無く囲む描画 - ダンボ 12/10-11:26 No.1211

で、アルゴリズムの検討を行いました。その結果、
(方式1)画面に平行な楕円で囲む(歪み率を黄金比、白銀比)。
(方式2)傾いた楕円で囲む。
(方式3)楕円にこだわらず、ボタンの最遠の端点をベジェ曲線で結ぶ。
の3方式を案出しました。これをそれぞれ実装して、私の感覚で見比べたところ、方式1の黄金比が1番心地よ
かったです。
Renardさん、よいアイデアを有難うございました。
綺麗に描画できました。この掲示板に画像が掲載できるものならば、各方式での描画結果を皆さんにお見せし
たいところですが。。。

今回は、線の移動に関する下記のことが次の問題と思っています。
前提条件:「各ボタンは、複数の直線で結んだり複数の楕円で囲んだりするが、ボタンを画面上で移動すると
それに追随して直線・楕円を移動させる」
現在の実装方式:直線は、Picture1.Line命令、楕円はPolyBezierTo命令(API)で描画
この前提下で、ボタンが移動されたとき、
(方式a)画面上の線を全て消し(Picture1.Cls)、全ての直線・楕円を再描画する。
(方式b)移動するボタンに関係する直線・楕円だけを消し(=背景色で描く)、ボタン移動完了後に関係する直
線・楕円だけを再描画する。
(方式c)一度描画した直線・楕円はPathToRegionでリージョン化し、移動に対しては「リージョンの変形」で対
処する。
の3方式を検討しています。
(方式a)は実装は簡単だが画面がちらつくし応答速度が問題。
(方式b)は実装が面倒。楕円の計算に伴う応答速度も問題。
(方式c)は「パスのリージョン化」「リージョンの変形」が未経験。です。

何かアドバイスあればコメントお願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -