2

C#/GDI+ で作成されたペイント プログラムを使用して、パネル上に交換可能な色とペン サイズでさまざまな形状を描画します。形状描画メソッドは正常に機能していますが、無料のペンを使用する場合 (MS ペイントの場合と同様)、仕事を行うメソッドを作成しましたが、かなり醜いです (リンクの写真を参照)。

if (crtanje)
            {
                debljina = float.Parse(debljina_box.Text);
                Graphics gr = Graphics.FromImage(bit);
                gr.SmoothingMode = SmoothingMode.HighQuality;
                olovka = new Pen(boja, debljina);
                gr.DrawLine(olovka, new Point(prethodnoX ?? e.X, prethodnoY ?? e.Y), new Point(e.X, e.Y));
                panel1.CreateGraphics().DrawImageUnscaled(bit, new Point(0, 0));
                prethodnoX = e.X;
                prethodnoY = e.Y;
            }

このコードを修正して描画をよりスムーズにすることはできますか?それとも他のアプローチを取る必要がありますか?

その写真

4

1 に答える 1

0

for ループを反復処理し、それをごくわずかに増やして、より頻繁にポイントを描画し、線をより滑らかにすることができると思います。現在のポイントを保存して次のポイントを計算し、それらの間に線を引くことができます。こうすればスムーズにできます!

于 2017-01-15T08:11:37.060 に答える