2012-09-08 47 views
2

我有一個用C#/ GDI +製作的繪圖程序,其中我在面板上繪製了可互換顏色和筆尺寸的不同形狀。我已經有了可以正常工作的形狀繪製方法,但是當涉及到使用自由筆(正如您在MS Paint中那樣)時,我做了一個可以完成這項工作的方法,只是非常難看(請參見圖中的鏈接)。c# - 更平滑的繪圖筆

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

+0

這是程序刷新率的問題,即使是photoshop在像我這樣的慢速計算機上也會這樣。你可以插入點之間,使其更平滑。 – annonymously

回答

0

我想你可以通過迭代for循環,因此它吸引點更頻繁,使線更爲順暢一個非常小的量增加了。您可以保存當前點並計算下一個點,然後在它們之間畫一條線。這就是你可以使它更平滑!