在C#中,可以使用System.Drawing
命名空間中的類和方法來實現圖像濾鏡效果。以下是一個簡單的示例,展示了如何使用C#實現圖像的灰度濾鏡效果:
using System;
using System.Drawing;
using System.Drawing.Imaging;
namespace ImageFilterExample
{
class Program
{
static void Main(string[] args)
{
// 加載原始圖像
Bitmap originalImage = new Bitmap("input.jpg");
// 創建一個新的Bitmap對象,用于存儲處理后的圖像
Bitmap filteredImage = new Bitmap(originalImage.Width, originalImage.Height);
// 遍歷原始圖像的每個像素
for (int y = 0; y< originalImage.Height; y++)
{
for (int x = 0; x< originalImage.Width; x++)
{
// 獲取當前像素的顏色
Color pixelColor = originalImage.GetPixel(x, y);
// 計算灰度值
int grayValue = (int)(pixelColor.R * 0.3 + pixelColor.G * 0.59 + pixelColor.B * 0.11);
// 創建一個新的灰度顏色
Color grayColor = Color.FromArgb(grayValue, grayValue, grayValue);
// 將新的灰度顏色設置為處理后的圖像的當前像素
filteredImage.SetPixel(x, y, grayColor);
}
}
// 保存處理后的圖像
filteredImage.Save("output.jpg", ImageFormat.Jpeg);
}
}
}
這個示例中,我們首先加載了一張名為input.jpg
的原始圖像。然后,我們創建了一個新的Bitmap
對象,用于存儲處理后的圖像。接下來,我們遍歷原始圖像的每個像素,獲取它們的顏色,并計算灰度值。最后,我們將新的灰度顏色設置為處理后的圖像的當前像素,并保存處理后的圖像。
這個示例僅展示了如何實現灰度濾鏡效果。要實現其他濾鏡效果,可以修改計算像素顏色的方法。例如,你可以實現一個高斯模糊濾鏡,或者一個銳化濾鏡等。