更流畅的绘图笔



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

这个代码可以被修复以使绘图更流畅吗?或者我应该采取其他方法吗?

图片

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

相关内容

  • 没有找到相关文章

最新更新