C# c-平滑画笔

C# c-平滑画笔,c#,graphics,drawing,pen,C#,Graphics,Drawing,Pen,我有一个用C/GDI+制作的绘画程序,在这个程序中,我在一个面板上用可互换的颜色和笔的大小绘制不同的形状。我已经得到的形状绘制方法工作正常,但当涉及到使用免费笔,你会在微软油漆我已经做了一个方法,做这项工作,只是相当丑陋见链接中的图片 if (crtanje) { debljina = float.Parse(debljina_box.Text); Graphics gr = Graphics.FromIma

我有一个用C/GDI+制作的绘画程序,在这个程序中,我在一个面板上用可互换的颜色和笔的大小绘制不同的形状。我已经得到的形状绘制方法工作正常,但当涉及到使用免费笔,你会在微软油漆我已经做了一个方法,做这项工作,只是相当丑陋见链接中的图片

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;
            }
该代码是否可以修复以使绘图更平滑,或者我是否应该采取其他方法


我想您可以迭代for循环,并将其增加一个非常小的数量,以便它更频繁地绘制点,并使线更平滑。可以保存当前点并计算下一个点,然后在它们之间绘制一条线。这就是你可以使它更平滑的方法

我想您可以迭代for循环,并将其增加一个非常小的数量,以便它更频繁地绘制点,并使线更平滑。可以保存当前点并计算下一个点,然后在它们之间绘制一条线。这就是你可以使它更平滑的方法

这是程序刷新率的问题,即使是photoshop在像我这样速度较慢的计算机上也会这样做。你可能会在点之间进行插值以使其更平滑。这是程序刷新率的问题,即使photoshop在像我这样的速度较慢的计算机上也会这样做。您可能可以在点之间进行插值以使其更平滑。