c# - 更顺畅的绘图笔

时间:2012-09-08 02:22:31

标签: c# graphics drawing pen

我有一个用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;
            }

是否可以修复此代码以使绘图更顺畅,还是应该采取其他方法?

the pic

1 个答案:

答案 0 :(得分:0)

我想你可以迭代for循环并将其增加一小部分,以便更频繁地绘制点并使线更平滑。您可以保存当前点并计算下一个点,然后在它们之间画一条线。这就是你如何让它更顺畅!