1. Товары
  2.   Изображение
  3.   .NET
  4.   ImageProcessor  
 
  

Open Source C# .NET Библиотека для изображений

Read, Write, Modify, Resize & Convert NG, JPEG, GIF & TIFF Images on-the-Fly через Free .NET API.

ImageProcessor - это свободный открытый источник. ET-библиотека обработки изображений, которая позволяет программистам-компьютерам манипулировать изображениями в полете внутри своих собственных. ET-приложения. Библиотека очень быстрая, стабильная, обширная, удобная для пользователя и содержит отличные функции. Библиотека предоставляет полную поддержку для работы с JPG, JPEG, NG, GIF, NG8 (как анимационными, так и статическими), BMP и TIFF форматами файлов.

Библиотека в основном делится на две библиотеки. Первая библиотека известна как ImageProcessor и обеспечивает полную поддержку для работы с настольными и приложениями. Вторая библиотека ImageProcessor. Web построен для SP. ET и предоставляет полную поддержку для работы с веб-приложениями. Мы будем в основном обсуждать о первой части и как разработчики могут использовать ее внутри своих приложений.

Previous Next

Начало с ImageProcessor

Стабильная версия доступна на NuGet. ImageProcessor поддерживается и будет поддерживаться только в .NET Framework, работающем в ОС Windows. Пожалуйста, не пытайтесь использовать с .NET Core или NET 5+.

Установка ImageProcessor через NuGet

NuGet\Install-Package ImageProcessor -Version number 

Применить фильтры к изображениям через библиотеку C#

Библиотека ImageProcessor с открытым исходным кодом позволяет разработчикам C# .NET с легкостью фильтровать изображения внутри своих собственных приложений. Пожалуйста, используйте класс MatrixFilters, чтобы назначить правильный фильтр для ваших изображений. Доступно несколько типов фильтров, которые вы можете применить к своим изображениям, например BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid и Sepia.

Добавить на основе текстового знака в изображение

Вы можете легко разместить изображение или текстовый водяной знак в любом месте на ваших изображениях с помощью библиотеки с открытым исходным кодом ImageProcessor. Библиотека предоставляет полную поддержку для добавления водяного знака к изображениям с несколькими строками кода. Требуемый класс содержит все свойства, необходимые для добавления текстового водяного знака к изображению. Он поддерживает текстовый цвет, выберите Font, Font Размер, Стиль, неприязнь, положение, капель-тен и многое другое.

Изображения урожая с использованием .NET

ImageProcessor дает разработчикам программного обеспечения возможность уравнять текущее изображение с пользовательским местоположением и размером. Dropping - это самый важный, но простой процесс, который следует учитывать при редактировании ваших изображений и фотографий. Он предоставляет несколько свойств, которые помогают пользователям получать изображения в соответствии с их потребностями. Например, слева, сверху, справа, снизу и CropMode.

Crop Images using C# .NET


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);
            }
        }
    }
}            
 Русский