- 我們知道使用
Graphics.Clear()
可以清除整個背景;但是想要清除指定區域的背景就很難辦;
- 下面的方法可以清除指定區域的背景或者已經繪製的內容,並以指定的格式進行替換:
public void ClearBackground(Vector2[] points)
{
//將Vector2格式轉換爲PointF[]格式
var offsettedPoints = PointsOffset(points);
//模式轉換爲'CompositingMode.SourceCopy'
Graphics.CompositingMode = CompositingMode.SourceCopy;
//用透明色替換指定的區域
SolidBrush solidBrush = new SolidBrush(Color.FromArgb(0, 0, 0, 0));
Graphics.FillPolygon(solidBrush, offsettedPoints);
//模式轉換爲'CompositingMode.SourceOver',這樣後面可以進行繪圖
Graphics.CompositingMode = CompositingMode.SourceOver;
}