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

ImageSharp  

 
 

Open Source C# .NET-bibliotheek voor 2D-graphics

Lezen, schrijven, wijzigen, formaat wijzigen en converteren van PNG-, JPEG-, GIF- en TIFF-afbeeldingen met behulp van .NET API.

ImageSharp is een eenvoudige maar zeer krachtige platformonafhankelijke open source-bibliotheek voor de verwerking van afbeeldingsbestanden in C#-toepassingen. Het is een volledig beheerde en platformonafhankelijke 2D grafische API die is ontworpen om de verwerking van afbeeldingen mogelijk te maken. ImageSharp is een open source beeldverwerkingsbibliotheek die is uitgebracht met als doel een alternatief te bieden voor de System.Drawing API's.

Deze API is uitgebreid en ondersteunt geavanceerde algoritmen voor beeldverwerking. De API wordt jaar na jaar verbeterd om ondersteuning te bieden voor meer geavanceerde beeldverwerking. De enige afhankelijkheid is .NET zelf, waardoor het extreem draagbaar is. De API biedt ondersteuning voor geavanceerde functies zoals het vergroten of verkleinen van afbeeldingen, het coderen en decoderen van afbeeldingen, het decoderen van alleen metadata van afbeeldingen, het klonen van afbeeldingen, het tekenen van een watermerk op de afbeelding, het tekenen van tekst langs een pad en nog veel meer.

Previous Next

Aan de slag met ImageSharp

Een stabiele release is beschikbaar op NuGet Zorg er voor bètaversies voor dat de schakelaar Inclusief prerelease is ingeschakeld. Ontwikkelingsreleases zijn beschikbaar via MyGet.

Installeer ImageSharp via NuGet

Install-Package SixLabors.ImageSharp -Version number 

C# API om het formaat van afbeeldingen te wijzigen

Met de ImageSharp-bibliotheek kunnen C# .NET-programmeurs het formaat van afbeeldingen in hun eigen .NET-toepassingen wijzigen. Het vergroten of verkleinen van een afbeelding vereist het proces van het genereren en herhalen door de pixels van een doelafbeelding en bemonsteringsgebieden van een bronafbeelding om te kiezen welke kleur voor elke pixel moet worden geïmplementeerd. U kunt het algoritme eenvoudig instellen bij het verwerken van afbeeldingen, zoals Bicubisch, Hermite, Box, CatmullRom, Lanczos2 en meer. Afgezien van de basisbewerkingen voor het wijzigen van het formaat, biedt ImageSharp ook meer geavanceerde functies.

Formaat van afbeeldingen wijzigen via C# API

// Load File 
using (Image image = Image.Load("fileformat.jpg"))
{
  // Resize file 
  image.Mutate(x => x
      .Resize(image.Width / 2, image.Height / 2)
      .greyscale());
  // Save
  image.Save("fileformat_out.jpg");
}                
                  

Watermerk tekenen op afbeelding

Gewoonlijk beschermen mensen hun afbeeldingen door er een groot watermerk overheen te leggen om te voorkomen dat mensen de afbeeldingen zonder toestemming gebruiken. De ImageSharp-bibliotheek biedt ondersteuning voor het toevoegen van watermerken aan afbeeldingen in C++-toepassingen. Om te beginnen heb je een lettertypefamilie nodig en je kunt er gemakkelijk een krijgen uit de systeemlettertypewinkel. De tekst over de afbeelding getekend en grijs gemaakt met een dekking van 50%.

Teken tekst langs een pad en pas effect toe op afbeelding

Met de ImageSharp-bibliotheek kunnen C# .NET-ontwikkelaars tekst tekenen volgens de contouren van een pad. Het wordt aanbevolen om een lettertypeverzameling aan te maken. Laten we eerst de tekst genereren als een set vectoren die langs het pad zijn getekend. Nadat we het pad hebben getekend, kunnen we zien wat de tekst zou moeten volgen. De ImageSharp API maakt het ook mogelijk om verschillende soorten effecten toe te passen op afbeeldingen die alleen binnen een vorm zijn.

Effect toepassen op afbeeldingen


namespace CustomImageProcessor
{
    static class Program
    {
        static void Main(string[] args)
        {
            System.IO.Directory.CreateDirectory("output");
            using (Image image = Image.Load("fb.jpg"))
            {
                var outerRadii = Math.Min(image.Width, image.Height) / 2;
                var star = new Star(new PointF(image.Width / 2, image.Height / 2), 5, outerRadii / 2, outerRadii);
                using (var clone = image.Clone(p =>
                {
                    p.GaussianBlur(15); // apply the effect here you and inside the shape
                }))
                {
                    clone.Mutate(x => x.Crop((Rectangle)star.Bounds));
                    var brush = new ImageBrush(clone);
                    // cloned image with the effects applied
                    image.Mutate(c => c.Fill(brush, star));
                }
                image.Save("output/fb.png");
            }
        }
    }
}              
 Dutch