c# drawing如何实现图像滤镜效果

655Z技术栈 C#编程 2025年08月15日 13

在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对象,用于存储处理后的图像。接下来,我们遍历原始图像的每个像素,获取它们的颜色,并计算灰度值。最后,我们将新的灰度颜色设置为处理后的图像的当前像素,并保存处理后的图像。

这个示例仅展示了如何实现灰度滤镜效果。要实现其他滤镜效果,可以修改计算像素颜色的方法。例如,你可以实现一个高斯模糊滤镜,或者一个锐化滤镜等。

提供PHP及ThinkPHP框架的定制开发、代码优化,PHP修改、ThinkPHP修改。

邮箱:yvsm@163.com 微信:yvsm316 QQ:316430983
关闭

用微信“扫一扫”