PictureBoxに円状に文字列を配置するには?

解決


ruru  2006-12-05 13:14:30  No: 97356

PictureBoxにCDやレコードのラベルのように円状に文字列を配置したいのですが
何か良い方法はありますでしょうか?
CreateFontIndirect()を試してみた所、
文字列の回転は出来ましたが直線状に文字列が並んでしまいました。


ruru  2006-12-05 13:17:02  No: 97357

すみません。環境を書き忘れていました。
VB6.0 + ServicePack6 です。


K.J.K.  2006-12-05 20:33:19  No: 97358

# OSなどのバージョンは?

GDIベースで行うのであれば、非線形座標系変換はできないので、
1文字ずつ回転させて描画する、辺りでお茶を濁すとか。

どうしても非線形座標系変換を行いたいのならば、GDI+のGraphicsPath
のWarpなどを使うとか。自力で変換を行うのはかなり面倒ですし。


ruru  2006-12-06 08:22:43  No: 97359

OSは2000あるいはXPです。

1文字ずつ回転させてみるのも手ですね。
恥ずかしながら全然気づきませんでした。orz

まずその1文字ずつ回転させる方法でやってみます。

ありがとうございました。


ruru  2006-12-06 11:47:22  No: 97360

中心座標から半径、角度を基に文字を配置する場所を求め、
なんとか円周上に回転文字を置くことが出来ました。

文字の横幅からどのようなピッチで文字を配置するか?という問題がありましたが
そこはユーザが指定する形で対応しようと思います。

本当に助かりました。どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加