OpenSourceSpace(OSS)のほうに、
GDI+落書きテスト28 (ZIP/526KB)
をアップし、GDI+落書きテスト23を削除しました。

前回の続きです。GdiPlus.dll は同梱していません。
今回の変更点は、Cスプライン曲線(カージナルスプライン曲線)の追加です。
・メニュー/作図/連続線/開Cスプライン曲線 追加
・メニュー/作図/連続線/閉Cスプライン曲線(輪郭線) 追加
・メニュー/作図/連続線/閉Cスプライン曲線(塗潰し) 追加
・メニュー/作図/連続線/閉Cスプライン曲線(輪郭線+塗潰し) 追加
・開Cスプライン曲線変更 追加
・閉Cスプライン曲線変更 追加
  ※Cスプライン曲線の分割点は取りません。
  ※Cスプライン曲線を1要素検索する場合、曲線上ではなく、
   点間線分上で検索を行いますので、思ったように拾えない場合があります。

カージナルスプライン曲線は、GDI+にある機能をそのまま使って描画しています。これはベジェ曲線も同じですが、そのため、曲線上の各点を計算するって事をしていないため、1要素検索の際に曲線上をクリックできなかったりします。また、曲線上の点が計算できないので、線形グラデーションの際の始点・終点が算出できません。ですのでカージナルスプライン曲線をパスにして、そのパスをクリップ領域にして、クリップ領域の境界ボックスを取得して、その境界ボックスの四角に対して、線形グラデーションの始点・終点を取ってます。ですので、指定状態によっては、開始色・終了色がうまく出ない場合が有りえます。

あと、塗潰しの場合、曲線が1直線状態になった場合には画面描画されません(データとしては存在する)ので注意して下さい。これはポリゴンでも同じ。