フリーハンドでなめらかな線を描画するには?

解決


ねこっこ  2004-09-01 03:59:59  No: 10760  IP: [192.*.*.*]

フォームにフリーハンドで線を描画するために
MouseMoveのイベントにLintoを使用して線を書きました。
マウスを速く動かすと線がかくかくしてしまいます。
なめらかな線をフリーハンドで書くためにはどうすれば
よいのでしょうか?

編集    削除
ウォレス  2004-09-01 22:02:00  No: 10761  IP: [192.*.*.*]

CPUがPen2 400MHzなんていうかなり低スペックなマシンで試してみましたが、マウスの動きに描画が追いつかない、という状態にはなりませんでした。

それとも目的が、「ドローツールにあるようななめらか曲線描画機能」なんでしょうか?

PaintShopでは、マウスをUPした途端に線が滑らかに描き変わるようなので、
恐らくマウスUP後に適当なサンプリングポイントを選出し、スプラインかベジェで描き直しているものと思われます。(この場合、勿論もとの描画とは微妙に異なる)

編集    削除
ねこっこ  2004-09-02 00:17:35  No: 10762  IP: [192.*.*.*]

返信ありがとうございます。
ある程度の早さまでは問題なく描けるのですが、マウスを素早く動かすと
どうしてもかくかくしてしまいます。
CPUは800MHzのものですが、試しにもっと速い2G程度のPC
でも同じEXEファイル動かしてみてもあまり変わりませんでした。

編集    削除
スタテツ  2004-09-02 05:28:06  No: 10763  IP: [192.*.*.*]

解決しているのであればよいかもしれませんが…
例えば標準の「ペイント」で描かれる線をカクカクといえばカクカクです。
どの程度のパフォーマンスが欲しくてどの程度カクカクしてるのかが分かりません。
普通はOnMouseMoveイベントでマウス座標からペンで線を描くと思いますが、2GHzと800MHzで似たパフォーマンスって事はもしかしてタイマー使ってませんか??

編集    削除