高見知英のかいはつにっし(β)

高見知英のアプリケーション開発日誌 のほか、地域活動などの活動報告ブログ。

.NETのDrawing2D

 .NETのSystem.Drawing.Drawing2D以下のオブジェクトを使えば、線形グラデーションの他にも、パスグラデーションとか、複雑な計算を要するグラデーションも結構簡単に描けるんですね。おまけにアルファ値を標準で採用しているので、半透明描画もお手の物です。
中間色の計算方法を好きに指定するとか(HLSを使って虹色を描画するみたいな)は、今知ってる限りでは無理みたいですが、それでも使い方次第でいろんなグラデーションが描けるようです。わたしもパスグラデーションで四角形を作ってみましたが、きれいに描けますねー♪
しかも、わたしのようなものが思いつきでかくコードだと、線形グラデーションですら場合によってはバッファリングしないともたついてしまうのに対して、これは何もしなくてもちっともちらつきません。バッファリングも、必要に応じて適当にやってくれてる(のだと思う)ので、何ともすごい限り。お絵かきソフトなんかに使ったら、かなりいろんなことが出来そうです。
 そういえばJAVAにも、java.graphics.graphics2Dなんてパッケージがあったし、結構同じようなことが出来るのかも。ほんとはアルゴリズムから何から何まで覚えた上で、描いた方がずっと良いのでしょうけどね。