1. produkty
  2.   obraz
  3.   .NET
  4.   ImageSharp  

ImageSharp  

 
 

Open Source C# .NET knihovna pro 2D grafiku

Čtení, zápis, úprava, změna velikosti a převod obrázků PNG, JPEG, GIF a TIFF pomocí rozhraní .NET API.

ImageSharp je jednoduchá, ale velmi výkonná multiplatformní open source knihovna pro zpracování obrazových souborů v aplikacích C#. Jedná se o plně spravované a multiplatformní 2D grafické API navržené tak, aby umožňovalo zpracování obrázků. ImageSharp je open source knihovna pro zpracování obrázků, která byla vydána s cílem poskytnout alternativu k rozhraní API System.Drawing.

Toto API je komplexní a podporuje pokročilé algoritmy pro zpracování obrazu. API je rok od roku vylepšováno, aby poskytovalo podporu pro pokročilejší zpracování obrazu. Jeho jedinou závislostí je samotný .NET, díky čemuž je extrémně přenosný. API obsahuje podporu pro pokročilé funkce, jako je změna velikosti obrázku, kódování a dekódování obrázku, dekódování pouze metadat obrázku, klonování obrázku, kreslení vodoznaku na obrázek, kreslení textu podél cesty a mnoho dalších.

Previous Next

Začínáme s ImageSharp

Stabilní vydání je k dispozici na NuGet U beta verzí se ujistěte, že je zapnutý přepínač Include Prerelease. Vývojové verze jsou k dispozici přes MyGet.

Nainstalujte ImageSharp přes NuGet

Install-Package SixLabors.ImageSharp -Version number 

C# API pro změnu velikosti obrázků

Knihovna ImageSharp umožňuje programátorům C# .NET měnit velikost obrázků uvnitř jejich vlastních aplikací .NET. Změna velikosti obrázku vyžaduje proces generování a iterování pixelů cílového obrázku a vzorkování oblastí zdrojového obrázku, aby se vybralo, jakou barvu implementovat pro každý pixel. Algoritmus můžete snadno nastavit při zpracování obrázků, jako jsou Bicubic, Hermite, Box, CatmullRom, Lanczos2 a další. Kromě základních operací změny velikosti nabízí ImageSharp také pokročilejší funkce.

Změna velikosti obrázků přes 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");
}                
                  

Nakreslete vodoznak na obrázek

Lidé obvykle chrání své obrázky tím, že umístí velký vodoznak, aby zabránili lidem v používání obrázků bez oprávnění. Knihovna ImageSharp poskytuje podporu pro přidávání vodoznaků do obrázků v aplikacích C++. Chcete-li začít, potřebujete rodinu písem a můžete ji snadno získat ze systémového úložiště písem. Nakreslete text přes obrázek a zašeďte jej s 50% neprůhledností.

Nakreslete text podél cesty a použijte efekt na obrázek

Knihovna ImageSharp umožňuje vývojářům C# .NET kreslit nějaký text podle obrysů cesty. Doporučuje se vytvořit sbírku písem. Nejprve vygenerujme text jako sadu vektorů nakreslených podél cesty. Po nakreslení cesty můžeme vidět, co má text následovat. ImageSharp API také umožňuje aplikovat různé typy efektů na obrázky pouze uvnitř tvaru.

Použít efekt na obrázky


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");
            }
        }
    }
}              
 Čeština