線幅2以上の破線・一点鎖線等の描画

解決


orz  2006-11-29 02:30:22  No: 24096

線幅が1のときは、Pen.Style <> psSolid で描画できますが、
2以上になると、実線になってしまいます。

2以上のときに実線を以外を表現するAPIとかあるのでしょうか?

簡易表記するときに、Pen.Styleを変更して描画しますが、通常はpsSolidで、
パターン描画しています。そのため、なければないで済ませるのですが、
あるなら実装しておきたいという欲求があるのです。

CADの世界なんかではよくありそうな話ですが、やっぱり実線でパターン描画
しているだけなんでしょうか?

ご存知の方、よろしくお願いします。


Mr.XRAY  URL  2006-11-29 03:44:15  No: 24097

例えば以下の方法があります。

(1)Win32APIのExtCreatePenを使用
    http://homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/T_LineEdgeStyle.htm
(2)GDI+を使用
    http://junki.lix.jp/gdiplus/013Pen1.htm


orz  2006-11-29 18:22:32  No: 24098

Mr.XRAY さん、ありがとうございます。

確かに、ExtCreatePen がありましたね。
長い間使ってなかったのですっかり忘れていました。

ソフトの動作環境が NT,2K,XP なのですが、GDI+では、gdiplus.dllを
入れないと使えない環境が出てくるので、またいずれ実装することにします。
が、サンプルページは、ありがたく頂戴致します。

あとは、CreatePen と ExtCreatePen の線種のパターンが同じにしてくれればよかったのに・・・。


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

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






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