ImageSharp
Libreria C# .NET open source per la grafica 2D
Leggi, scrivi, modifica, ridimensiona e converti immagini PNG, JPEG, GIF e TIFF utilizzando l'API .NET.
ImageSharp è una libreria open source multipiattaforma semplice ma molto potente per l'elaborazione di file di immagine all'interno di applicazioni C#. È un'API grafica 2D completamente gestita e multipiattaforma progettata per consentire l'elaborazione delle immagini. ImageSharp è una libreria di elaborazione delle immagini open source rilasciata con l'obiettivo di fornire un'alternativa alle API System.Drawing.
Questa API è completa e supporta algoritmi avanzati per l'elaborazione delle immagini. L'API viene migliorata di anno in anno per fornire supporto per un'elaborazione delle immagini più avanzata. La sua unica dipendenza è .NET stesso, il che lo rende estremamente portatile. L'API include il supporto per funzionalità avanzate come il ridimensionamento dell'immagine, la codifica e la decodifica dell'immagine, la decodifica dei soli metadati dell'immagine, la clonazione dell'immagine, il disegno di una filigrana sull'immagine, il disegno di testo lungo un percorso e molti altri.
Guida introduttiva a ImageSharp
Una versione stabile è disponibile su NuGet Per le versioni beta, assicurati che l'opzione Includi Prerelease sia abilitata. Le versioni di sviluppo sono disponibili tramite MyGet.
Installa ImageSharp tramite NuGet
Install-Package SixLabors.ImageSharp -Version number
API C# per ridimensionare le immagini
La libreria ImageSharp consente ai programmatori C# .NET di ridimensionare le immagini all'interno delle proprie applicazioni .NET. Il ridimensionamento di un'immagine richiede il processo di generazione e iterazione attraverso i pixel di un'immagine di destinazione e le aree di campionamento di un'immagine di origine per scegliere il colore da implementare per ciascun pixel. Puoi impostare facilmente l'algoritmo durante l'elaborazione di immagini, come Bicubic, Hermite, Box, CatmullRom, Lanczos2 e altro. Oltre alle operazioni di ridimensionamento di base, ImageSharp offre anche funzionalità più avanzate.
Ridimensionare le immagini 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");
}
Disegna filigrana sull'immagine
Di solito, le persone proteggono le loro immagini sovrapponendo una filigrana di grandi dimensioni per impedire alle persone di utilizzare le immagini senza autorizzazione. La libreria ImageSharp fornisce supporto per l'aggiunta di filigrane alle immagini all'interno di applicazioni C++. Per iniziare hai bisogno di una famiglia di font e puoi facilmente ottenerne una dal negozio di font di sistema. Disegna il testo sull'immagine e ingrigilo con il 50% di opacità.
Disegna il testo lungo un percorso & Applicare l'effetto sull'immagine
La libreria ImageSharp consente agli sviluppatori C.NET di disegnare qualche testo seguendo i contorni di un percorso. Si consiglia di creare una collezione di font. In primo luogo, generiamo il testo come un insieme di vettori disegnati lungo il percorso. Dopo aver disegnato il percorso in modo da poter vedere cosa dovrebbe seguire il testo. Il ImageSharp API permette anche di applicare vari tipi di effetti alle immagini solo all'interno di una forma.
Applicare effetto sulle immagini
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");
}
}
}
}