sabato 13 settembre 2025

C# visualizzare in un controllo picturebox un file immagine di tipo webp

Il controllo PictureBox, non permette di visualizzare i file immagine di tipo “webp”, una delle varie tecniche può essere quella di utilizzare la libreria “SixLabors.ImageSharp”, e passare lo stream dati dell’immagine alla proprietà image.

Aggiungiamo al progetto il componente “SixLabors.ImageSharp” tramite Nuget.

In alto, sopra ad ogni dichiarazione, aggiungiamo lo spazio dei nomi per utilizzare le classi di questa libreria.


Di seguito si riporta la dichiarazione delle suddette operazioni.


C#

using SixLabors.ImageSharp;

using SixLabors.ImageSharp.PixelFormats;

using SixLabors.ImageSharp.Processing;



Nell’evento click di un pulsante di un progetto Windows Forms, scriviamo il codice che rileva lo stream dati dall’immagine di tipo “,webp” e lo passa alla proprietà Image del controllo PictureBox.



C#

string percorso = "C:\\Varie\\MiaImmagine.webp";

using (var image = SixLabors.ImageSharp.Image.Load<Rgba32>(percorso))

{

    //Trasforma il file immagine webp in png per poterlo visualizzare nel picturebox

    using (var ms = new System.IO.MemoryStream())

    {

        //L'immagine viene trasformata in formato PNG in un MemoryStream

        image.SaveAsPng(ms);

        ms.Position = 0; //Ripristina la posizione del flusso

        pictureBox1.Image = System.Drawing.Image.FromStream(ms); //Carica l'immagine nel PictureBox dallo stream dati

    }

}


Nessun commento:

Posta un commento