1. Produkter
  2.   Bild
  3.   .NET
  4.   ImageSharp  

ImageSharp  

 
 

Open Source C# .NET Library för 2D-grafik

Läs, skriv, ändra, ändra storlek och konvertera PNG-, JPEG-, GIF- och TIFF-bilder med hjälp av .NET API.

ImageSharp är ett enkelt men mycket kraftfullt plattformsoberoende öppen källkodsbibliotek för bearbetning av bildfiler i C#-applikationer. Det är ett helt hanterat och plattformsoberoende 2D-grafik-API utformat för att tillåta bearbetning av bilder. ImageSharp är ett bildbehandlingsbibliotek med öppen källkod som släpptes med målet att tillhandahålla ett alternativ till System.Drawing API:erna.

Detta API är heltäckande och stöder avancerade algoritmer för bildbehandling. API:et förbättras år för år för att ge stöd för mer avancerad bildbehandling. Dess enda beroende är själva .NET, vilket gör den extremt portabel. API:et har inkluderat stöd för avancerade funktioner som bildstorleksändring, bildkodning och avkodning, avkodning av endast bildmetadata, bildkloning, rita vattenstämpel på bilden, rita text längs en bana och många fler.

Previous Next

Komma igång med ImageSharp

En stabil version är tillgänglig på NuGet För betaversioner, se till att växeln Inkludera Prerelease är aktiverad. Utvecklingsversioner är tillgängliga via MyGet.

Installera ImageSharp via NuGet

Install-Package SixLabors.ImageSharp -Version number 

C# API för att ändra storlek på bilder

ImageSharp-biblioteket tillåter C# .NET-programmerare att ändra storlek på bilder i sina egna .NET-applikationer. Ändra storlek på en bild kräver processen att generera och iterera genom pixlarna i en målbild och samplingsområden i en källbild för att välja vilken färg som ska implementeras för varje pixel. Du kan enkelt ställa in algoritmen när du bearbetar bilder, som Bicubic, Hermite, Box, CatmullRom, Lanczos2 och mer. Förutom de grundläggande storleksändringsoperationerna erbjuder ImageSharp också mer avancerade funktioner.

Ändra storlek på bilder 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");
}                
                  

Rita vattenstämpel på bilden

Vanligtvis skyddar människor sina bilder genom att lägga en stor vattenstämpel över för att förhindra att människor använder bilderna utan tillstånd. ImageSharp-biblioteket ger stöd för att lägga till vattenstämplar till bilder i C++-applikationer. För att börja behöver du en teckensnittsfamilj och du kan enkelt få en från systemfontbutiken. Ritade texten över bilden och grånade den med 50 % opacitet.

Rita text längs en bana och tillämpa effekt på bilden

ImageSharp-biblioteket tillåter C# .NET-utvecklare att rita text efter konturerna av en bana. Det rekommenderas att skapa en teckensnittssamling. Låt oss först generera texten som en uppsättning vektorer som ritas längs vägen. Efter att ha ritat banan så att vi kan se vad texten är tänkt att följa. ImageSharp API tillåter också att applicera olika typer av effekter på bilder endast i en form.

Använd effekt på bilder


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");
            }
        }
    }
}              
 Svenska