1. Producten
  2.   Afbeelding
  3.   .NET
  4.   ImageProcessor  
 
  

Open Source C# .NET-bibliotheek voor manipulatie van afbeeldingen

Lees, schrijf, wijzig, formaat wijzigen en converteer PNG-, JPEG-, GIF- en TIFF-afbeeldingen on-the-fly via gratis .NET API.

ImageProcessor is een gratis open source .NET-beeldverwerkingsbibliotheek waarmee computerprogrammeurs afbeeldingen on-the-fly binnen hun eigen .NET-toepassingen kunnen manipuleren. De bibliotheek is erg snel, stabiel, uitbreidbaar, gebruiksvriendelijk en bevat geweldige functies. De bibliotheek biedt volledige ondersteuning voor het werken met JPG, JPEG, PNG, GIF, PNG8 (zowel geanimeerd als statisch), BMP en TIFF bestandsformaten.

De bibliotheek is hoofdzakelijk verdeeld in twee subbibliotheken. De eerste bibliotheek staat bekend als ImageProcessor en biedt volledige ondersteuning voor het werken met desktop en applicaties. De 2e bibliotheek ImageProcessor.Web is gebouwd voor ASP.NET en biedt volledige ondersteuning voor het werken met webapplicaties. We zullen het vooral hebben over het eerste deel en hoe ontwikkelaars het in hun applicaties kunnen gebruiken.

Previous Next

Aan de slag met ImageProcessor

Een stabiele release is beschikbaar op NuGet. ImageProcessor wordt en wordt alleen ondersteund op het .NET Framework dat draait op een Windows-besturingssysteem. Probeer het niet te gebruiken met .NET Core of NET 5+.

Installeer ImageProcessor via NuGet

NuGet\Install-Package ImageProcessor -Version number 

Filters toepassen op afbeeldingen via C#-bibliotheek

De open source ImageProcessor-bibliotheek stelt C# .NET-ontwikkelaars in staat om afbeeldingen gemakkelijk in hun eigen applicaties te filteren. Gebruik de klasse MatrixFilters om het juiste filter aan uw afbeeldingen toe te wijzen. Er zijn verschillende soorten filters beschikbaar die je op je afbeeldingen kunt toepassen, zoals BlackWhite, Comic, Gotham, GreyScale, HiSatch, Invert, Lomograph, LoSatch, Polaroid en Sepia.

Op tekst gebaseerd watermerk aan afbeelding toevoegen

U kunt eenvoudig een afbeelding of tekstwatermerk overal op uw afbeeldingen plaatsen met behulp van de open source ImageProcessor-bibliotheek. De bibliotheek biedt volledige ondersteuning voor het toevoegen van watermerken aan afbeeldingen met slechts enkele regels code. De vereiste klasse bevat alle eigenschappen die nodig zijn om het op tekst gebaseerde watermerk aan de afbeelding toe te voegen. Het ondersteunt tekstkleur, selecteer lettertype, lettergrootte, stijl, dekking, positie, slagschaduw en meer.

Afbeeldingen bijsnijden met .NET

De ImageProcessor geeft softwareontwikkelaars de mogelijkheid om de huidige afbeelding bij te snijden tot een aangepaste locatie en grootte. Bijsnijden is het belangrijkste maar makkelijke proces waarmee u rekening moet houden bij het bewerken van uw afbeeldingen en foto's. Het biedt verschillende eigenschappen die gebruikers helpen afbeeldingen bij te snijden op basis van hun behoeften. Zoals links, boven, rechts, onder en CropMode.

Afbeeldingen bijsnijden met 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);
            }
        }
    }
}            
 Dutch