通知
すべてクリア
Topic starter
2002年9月17日 9:49 AM
はじめましてjiroと申します。
早速ですが、WINDOWSに標準でついている
MSペイントと同じようなソフトをC#で新規
開発しているのですが、塗りつぶしが
うまくできません。
線で囲まれた部分を指定色で塗りつぶす。
閉じられていない円に塗りつぶしを行うと
円の外まで塗りつぶされるような処理ができません。
「Fill***」を使用しても描画時にしか描画できず、
後から塗りつぶすことができません。
塗りつぶしの方法をご存知の方がいらっしゃいましたら
教えて頂けないでしょうか。
宜しくお願いいたします。
2002年9月18日 3:25 PM
塗りつぶしのアルゴリズムはいくつか思いつきますが、
起点(クリックされた位置)のx,y座標で
x,yそれぞれの+1,-1の座標の色を判定していく方法が楽なのでは?
こんなところでも再帰ループが使えます。
Invalidate()をループ内におくと時間はかかりますが、面白いと思います。
なんかのグラフィックエフェクトにも使えるかも。
Topic starter
2002年9月19日 4:18 PM
鍋倉様 回答ありがとうございます。
回答についてもう一度質問がございます。
x,yの色はどのように判定すればよいのでしょうか?
再起ループとは普通のループとは異なるものなのでしょうか?
何度もすいませんが回答の程宜しくお願いします。