C#繪圖:清除部分區域【用指定顏色、透明色】代替

  • 我們知道使用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;
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章