在C#中,使用System.Drawing
命名空間可以輕松地處理圖像和濾鏡。以下是一個簡單的示例,展示了如何使用System.Drawing
命名空間中的Bitmap
類和ColorMatrix
類來應用圖像濾鏡。
首先,確保已經安裝了System.Drawing
命名空間的引用。在Visual Studio中,右鍵單擊項目,選擇“添加引用”,然后在“程序集”選項卡中找到并添加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");
// 創建一個ColorMatrix對象,用于定義濾鏡效果
ColorMatrix colorMatrix = new ColorMatrix();
colorMatrix.Matrix3x2[0, 0] = 1;
colorMatrix.Matrix3x2[0, 1] = 0;
colorMatrix.Matrix3x2[1, 0] = 0;
colorMatrix.Matrix3x2[1, 1] = 1;
colorMatrix.Matrix3x2[2, 0] = 0;
colorMatrix.Matrix3x2[2, 1] = 0;
// 創建一個ImageAttributes對象,用于應用ColorMatrix濾鏡
ImageAttributes imageAttributes = new ImageAttributes();
imageAttributes.SetColorMatrix(colorMatrix);
// 創建一個新的Bitmap對象,用于存儲應用濾鏡后的圖像
Bitmap filteredImage = new Bitmap(originalImage.Width, originalImage.Height);
// 使用Graphics對象繪制應用濾鏡后的圖像
using (Graphics graphics = Graphics.FromImage(filteredImage))
{
graphics.DrawImage(originalImage, new Rectangle(0, 0, originalImage.Width, originalImage.Height), imageAttributes);
}
// 保存應用濾鏡后的圖像
filteredImage.Save("output.jpg", ImageFormat.Jpeg);
Console.WriteLine("Filter applied successfully!");
}
}
}
在這個示例中,我們首先加載了一個名為input.jpg
的圖像。然后,我們創建了一個ColorMatrix
對象,用于定義濾鏡效果。在這個例子中,我們應用了一個簡單的灰度濾鏡,將圖像轉換為灰度。
接下來,我們創建了一個ImageAttributes
對象,并將ColorMatrix
對象應用于它。然后,我們創建了一個新的Bitmap
對象,用于存儲應用濾鏡后的圖像。
最后,我們使用Graphics
對象繪制應用濾鏡后的圖像,并將其保存為名為output.jpg
的文件。
請注意,這個示例僅展示了如何應用一個簡單的灰度濾鏡。你可以根據需要修改ColorMatrix
對象,以實現其他濾鏡效果。