0

ドローの区切られた領域に色を塗りつぶすことができるアルゴリズムを書きたいと思います。例を示します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

このアルゴリズムを開始する方法は何ですか?この機能を実現するためにどこで行動できますか?それとも何かが行われていますか?

ありがとう

4

1 に答える 1

0

http://en.wikipedia.org/wiki/Flood_fillが思い浮かびますが、これが最善の答えではないと思います...

また、マイクロソフトペイントやその他のイメージングソフトウェアを使用して画像を拡大すると、この手法をより巧妙にするぼかしがあることに気付く場合があります。理想的には、この手法はより鮮明でシャープなピクセル境界で機能します。

ほとんどの形状描画サブルーチンは、デフォルトで塗りつぶされた形状を許可しますが、あなたが求めているのはもう少しトリッキーです。

特に、私は通常、塗りつぶされた形状を描画してから、塗りつぶされた形状と同じであるが、境界線の色が異なる、塗りつぶされていない形状を描画し、やりたいことをシミュレートします。

私が言っていることの擬似コードは

 setcolor(backgroundcolor); 
 fillrect(0, 0, width, height);

 setcolor(roofcolor); 
 filltriangle(x1, y1, x2, y2, x3, y3);
 setcolor(black); 
 drawtriangle(x1, y1, x2, y2, x3, y3);

 ... so on
于 2013-02-27T11:29:46.180 に答える