2

我有一个用 C#/GDI+ 制作的绘图程序,在该程序中,我在面板上绘制具有可互换颜色和笔大小的不同形状。我的形状绘制方法工作正常,但是当涉及到使用免费笔时(就像你在 MS Paint 中那样),我已经制作了一种可以完成这项工作的方法,只是非常难看(参见链接中的图片)。

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 回答