在先前的绘图上绘制某些内容会导致质量低下

时间:2014-04-11 19:34:44

标签: c# graphics draw

在我的应用程序中,我画了一个蓝色箭头,过了一会儿,我需要将它的颜色改为绿色,所以我再用绿色笔画它。当用户点击某些内容时,箭头必须返回其原始颜色,因此我再次使用蓝色笔绘制箭头。虽然我设置了.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality,但所有这些都会产生像素化箭头。我不能在图形上使用clear,因为我在面板上绘制了几个形状。救命! 使用drawlines方法绘制箭头:

Graphics kanvas = pnlKanvas.CreateGraphics();
kanvas.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

Point[] arrow_points = { //... };                  

kanvas.DrawLines(pen, arrow_points);

我重复上述2-3次,每次都改变笔的颜色。这给了我一个像素化的箭头,虽然我希望它顺利。我无法清除面板并重新绘制它,因为我已在其上绘制了几个形状。

1 个答案:

答案 0 :(得分:0)

您将需要清除并重绘箭头。您可以查看Invalidate方法,以清除pnlKanvas上的某个区域或矩形。有关详细信息,请参阅here