Open Source C# .NET Library for Images Manipulation
Les, skriv, endre, endre størrelse og konverter PNG-, JPEG-, GIF- og TIFF-bilder på farten via gratis .NET API.
ImageProcessor er et gratis åpen kildekode .NET bildebehandlingsbibliotek som lar dataprogrammerere manipulere bilder på farten i sine egne .NET-applikasjoner. Biblioteket er veldig raskt, stabilt, utvidbart, brukervennlig og inneholder flotte funksjoner. Biblioteket gir full støtte for å jobbe med filformatene JPG, JPEG, PNG, GIF, PNG8 (både animerte og statiske), BMP og TIFF.
Biblioteket er hovedsakelig delt inn i to underbiblioteker. Det første biblioteket er kjent som ImageProcessor og gir full støtte for arbeid med skrivebord og applikasjoner. Det andre biblioteket ImageProcessor.Web er bygget for ASP.NET og gir full støtte for arbeid med webapplikasjoner. Vi vil hovedsakelig diskutere den første delen og hvordan utviklere kan bruke den i applikasjonene sine.
Komme i gang med ImageProcessor
En stabil utgivelse er tilgjengelig på NuGet. ImageProcessor er, og vil alltid bli støttet på .NET Framework som kjører på et Windows OS. Ikke prøv å bruke med .NET Core eller NET 5+.
Installer ImageProcessor via NuGet
NuGet\Install-Package ImageProcessor -Version number
Bruk filtre på bilder via C# Library
Open source ImageProcessor-biblioteket lar C# .NET-utviklere enkelt filtrere bilder i sine egne applikasjoner. Vennligst bruk MatrixFilters-klassen for å tilordne riktig filter til bildene dine. Det er flere typer filtre tilgjengelig som du kan bruke på bildene dine, for eksempel BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid og Sepia.
Legg til tekstbasert vannmerke til bildet
Du kan enkelt plassere et bilde eller tekstvannmerke hvor som helst på bildene dine ved hjelp av åpen kildekode ImageProcessor-biblioteket. Biblioteket gir full støtte for å legge til vannmerke til bilder med bare noen få linjer med kode. Den nødvendige klassen inneholder alle egenskapene som er nødvendige for å legge til det tekstbaserte vannmerket til bildet. Den støtter tekstfarge, velg Font, Font Size, Style, opasitet, posisjon, drop-shadow og mer.
Beskjær bilder med .NET
ImageProcessor gir programvareutviklere muligheten til å beskjære gjeldende bilde til en tilpasset plassering og størrelse. Beskjæring er den viktigste, men enkle prosessen å vurdere når du redigerer bildene og bildene dine. Det gir flere egenskaper som hjelper brukere å beskjære bilder i henhold til deres behov. Slik som venstre, topp, høyre, bunn og CropMode.
Beskjær bilder med 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);
}
}
}
}