其實如果有看過之前寫的把圖檔黑白化、和把圖檔反色化的話,對于一些簡單的圖像處理是可以做得得心應手的,因為那些隻是先擷取坐标的像素值,再對這些值進行處理而已。然而現在說的濾色效果也是大同小異的。實作濾色效果的函數如下,
/// <summary>
/// 将圖檔進行濾色處理
/// </summary>
/// <param name="mybm">原始圖檔</param>
/// <param name="width">原始圖檔的長度</param>
/// <param name="height">原始圖檔的高度</param>
/// <returns>已被濾色處理後的圖檔</returns>
public Bitmap FilPic(Bitmap mybm, int width, int height)
{
Bitmap bm = new Bitmap(width, height);//初始化一個記錄濾色效果的圖檔對象
int x, y;//循環次數
Color pixel;
for (x = 0; x < width; x++)
{
for (y = 0; y < height; y++)
{
pixel = mybm.GetPixel(x, y);//擷取目前坐标的像素值
bm.SetPixel(x, y, Color.FromArgb(0, pixel.G, pixel.B));//繪圖
}
}
return bm;//傳回濾色處理後的圖檔
}