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

解決


ねこっこ  2004-09-01 03:59:59  No: 10760

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


ウォレス  2004-09-01 22:02:00  No: 10761

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

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

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


ねこっこ  2004-09-02 00:17:35  No: 10762

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


スタテツ  2004-09-02 05:28:06  No: 10763

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


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

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






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