1. 产品
  2.   图片
  3.   .NET
  4.   ImageProcessor  
 
  

图像管理开放源C#。ET图书馆

通过免费阅读、写、修改、重置和转换NG、JPEG、GIF和TIFF图像on-the-Fly。

ImageProcessor是一个自由开放源。ET图像处理库、使计算机程序员能够在。ET应用程序中操纵图像。 图书馆非常快、稳定、广泛、用户友好、具有很大的特点。 图书馆为JPGJPEG、NG、GIF、NG8(动画和静态)、BMP和TIFF文件格式提供全面支持。

图书馆主要分为两个子图书馆。 第一个图书馆称为ImageProcessor、并为处理桌面和应用程序提供全面支持。 第二图书馆图像处理器。Web是为SP。ET建立的、为网络应用提供全面支持。 我们将主要讨论第一部分、以及开发人员如何在其应用程序中使用它。

Previous Next

从ImageProcessor开始

NuGet 上提供稳定版。 ImageProcessor 是,并且永远只会在运行在 Windows 操作系统上的 .NET Framework 上受支持。 请不要尝试与 .NET Core 或 NET 5+ 一起使用。

安装ImageProcessor号

NuGet\Install-Package ImageProcessor -Version number 

通过C#图书馆应用过滤器

开放源码ImageProcessor库允许C#。ET开发人员在自己的应用程序中轻松过滤图像。 请使用MatrixFilters类将正确的过滤器分配给您的图像。 有几种过滤器可以适用于你的图像、如BlackWhite、漫画、哥姆、GreyScale、HiSatch、逆转、专论、LoSatch、极光等。

添加基于文本的水印图像

您可以很容易地使用开源ImageProcessor图书馆在图像上放置图像或文本水印。 图书馆全力支持将水印添加到仅仅几行代码的图像中。 所需的类包含了将基于文本的水印添加到图像中所需的所有属性。 它支持文本颜色、选择字体、字体尺寸、风格、不透明、位置、投影等。

使用。ET的作物图像

ImageProcessor给软件开发者提供将当前图像播种到自定义位置和大小的能力。 在编辑你的图片和照片时、删除是最重要而又容易考虑的过程。 它提供了几个属性、帮助用户根据他们的需要收集图像。 如左、上、右、下、下CropMode。

C#。ET作物图像


namespace ImageProcessor.Tests.Processing
{
    public class CropTests
    {
        private const string category = "Crop";
        [Fact]
        public void CropSettingsConstructorSetsOptions()
        {
            const int Left = 1;
            const int Top = 1;
            const int Right = 1;
            const int Bottom = 1;
            var expected = new CropOptions(Left, Top, Right, Bottom, CropMode.Percentage);
            Assert.Equal(expected.Left, Left);
            Assert.Equal(expected.Top, Top);
            Assert.Equal(expected.Right, Right);
            Assert.Equal(expected.Bottom, Bottom);
        }
        [Fact]
        public void CropSettingsConstructorChecksInput()
        {
            Assert.Throws(() => new CropOptions(-1, 0, 0, 0));
            Assert.Throws(() => new CropOptions(0, -1, 0, 0));
            Assert.Throws(() => new CropOptions(0, 0, -1, 0));
            Assert.Throws(() => new CropOptions(0, 0, 0, -1));
        }
        [Fact]
        public void CropConstructorSetsOptions()
        {
            var expected = new CropOptions(1, 2, 3, 4, CropMode.Percentage);
            var processor = new Crop(expected);
            Assert.Equal(expected, processor.Options);
        }
        [Fact]
        public void FactoryCanCropRectangle()
        {
            // Test our issue crop.
            TestFile file = TestFiles.Jpeg.EXIFCropIssue559;
            var bounds = new Rectangle(939, 439, 2778, 2778);
            using (var factory = new ImageFactory())
            {
                factory.Load(file.FullName)
                       .Crop(bounds)
                       .SaveAndCompare(file, category, bounds);
            }
        }
        [Fact]
        public void FactoryCanCropPercentile()
        {
            // Test our issue crop.
            TestFile file = TestFiles.Jpeg.Penguins;
            var settings = new CropOptions(15, 25, 10, 5, CropMode.Percentage);
            using (var factory = new ImageFactory())
            {
                factory.Load(file.FullName)
                       .Crop(settings)
                       .SaveAndCompare(file, category, settings);
            }
        }
    }
}            
 中国人