C# 图像增强滤镜库






4.90/5 (47投票s)
一组用于修改和样式化您的图像和照片的滤镜
引言
这个项目源于一个需求。需要一个简单的图像/照片 .NET 滤镜功能,以便对图片进行样式化和增强,以便在网络上(或任何其他地方)显示。诚然,网上散布着一些滤镜库,可以执行诸如 水印 或 灰度 ,甚至是一系列滤镜 (ImageMagick)。在大多数情况下,它们非常基础或对图像样式化没有帮助。此外,.NET System.Drawing.*
命名空间没有提供任何基本或高级的功能。例如,没有合适的旋转或调整大小的功能。因此,目标是将现有的所有不错的 .NET 滤镜收集到一个包中,并通过提供更多有用和样式化的滤镜来扩展它。
实现
基于上述需求,我创建了 YAEL,它代表:Yet Another Image Enhancement Library(又一个图像增强库)。
它只是一个框架和滤镜类。目前没有 UI(用户界面)。该框架非常基础和简单,因此可以轻松开发扩展。
有一个基本的 IFilter
接口和一个 BasicFilter
抽象类。所有滤镜都从 BasicFilter
类派生。
当前库中的滤镜包括
- 调整大小
- 旋转
- 灰度
- 圆角
- 装箱
- 阴影
- 宝丽来相框
- 文本和水印说明
- 图像水印
- 地板反射
- 鱼眼
- 倾斜
- 还有更多即将推出...
这里有一些示例
用法
使用非常简单。你所需要做的就是引用库程序集,加载图像,初始化滤镜,执行滤镜,然后保存转换后的图像。
这是一个示例
static void Main(string[] args)
{
Image myImg = Bitmap.FromFile("cat.jpg");
Image transformedImage;
ZRLabs.Yael.BasicFilters.TextWatermarkFilter watermark = new
TextWatermarkFilter();
ZRLabs.Yael.BasicFilters.BoxFilter box = new BoxFilter();
ZRLabs.Yael.BasicFilters.BlackAndWhiteFilter blackAndWhite = new
BlackAndWhiteFilter();
//A text watermark example
watermark.Caption = "Test";
watermark.AutomaticTextSize = true;
transformedImage = watermark.ExecuteFilter(myImg);
transformedImage.Save("cat_watermark.png",
System.Drawing.Imaging.ImageFormat.Png);
//A boxing example
transformedImage = box.ExecuteFilter(myImg);
transformedImage.Save("cat_box.png",
System.Drawing.Imaging.ImageFormat.Png);
//A grayscale example
transformedImage = blackAndWhite.ExecuteFilter(myImg);
transformedImage.Save("cat_blackAndWhite.png",
System.Drawing.Imaging.ImageFormat.Png);
}
更新
- 15-Dev-2006
- V1.0.3.0 发布
- 添加了鱼眼、地板反射和倾斜滤镜。
- 添加了一个管道辅助类,用于轻松流畅的转换。
- V1.0.3.0 发布
- 28-Nov-2006
- 添加了在
BoxFilter
的顶部和侧面板上使用图像的能力。
请查看示例页面以获取示例。
- 添加了在
- 27-Nov-2006
- 向
ResizeFilter
添加了一个KeepAspectRatio
属性
- 向
- 23-Nov-2006
- 添加了一个图像水印滤镜
- 将许可更改为 LGPL