venerdì 12 giugno 2026

C# Windows Forms, visualizzare un file immagine di tipo Webp in un controllo picturebox

Il controllo PictureBox, di un progetto di tipo Windows Forms, non permette la visualizzazione di file immagini di tipo "webp". 
Tramite la libreria "SkiaSharp", possiamo convertire il file in un formato idoneo alla visualizzazione in un controllo PictureBox.

Aggiunge al progetto tramite "Nuget" il componente "SkiaSharp", in questo modo disponiamo di classi per la gestione delle immagini.

Di seguito si riporta la funzione per convertire il file "webp" in un formato immagine png idoneo al controllo PictureBox.




C#

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

 //Rilevo lo stream dei dati

 using (var data = File.OpenRead(percorso))

 {

     //Creo un oggetto skiaBitmap dallo stream dati

     var skiaBitmap = SKBitmap.Decode(data);

 

     //Converto SKBitmap in System.Drawing.Image

     using (var ms = new MemoryStream())

     {

         //Imposto nel MemoryStream l'oggetto  SKBitmap come PNG

         using (var skiaImage = SKImage.FromBitmap(skiaBitmap))

         {

             skiaImage.Encode(SKEncodedImageFormat.Png, 100).SaveTo(ms);

         }

         ms.Position = 0; // Reset stream position

 

         //Visualizzo l'immagine nel PictureBox

         pcbAnteprima.Image = System.Drawing.Image.FromStream(ms);

     

     }

 }

 

Nessun commento: