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 и предоставляет полную поддержку для работы с веб-приложениями. Мы будем в основном обсуждать о первой части и как разработчики могут использовать ее внутри своих приложений.
Начало с 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);
}
}
}
}