martedì 11 novembre 2025

C# impostare il formato 1920 x 1080 in una nuova immagine da una esistente, con il .Net 9

In questo frammento di codice nel linguaggio di programmazione C#, vedremo come creare una nuova immagine da una esistente, con una risoluzione di 1920x1080, il tutto utilizzando le classi presenti nello spazio dei nomi System.Drawing e della versione .Net 9.


Di seguito lo spazio dei nomi da inserire in alto, sopra ad ogni dichiarazione, per la gestione della grafica.

C#

using System.Drawing.Drawing2D;

using System.Drawing.Imaging;


Di seguito la funzione, che passando dei parametri, quali percorso e nome del file immagine esistente, del nuovo file, e delle dimensione, crea una nuova immagine, impostando le dimensioni passate alla funzione.

C#

public static void ResizeImage(string percorsoNomeFileOriginale, string percorsoNomeNuovoFile, int width, int height)

{

try

{

//Creo un nuovo oggetto bmp dall'immagine esistente

using (Bitmap bmpOriginale = new Bitmap(percorsoNomeFileOriginale))

{

//Crea un nuovo oggetto bitmap con le dimensioni desiderate

using (Bitmap bmpNuovaImmagine = new Bitmap(width, height))

{

//Crea un oggetto Graphics per disegnare sulla nuova bitmap

using (Graphics graphics = Graphics.FromImage(bmpNuovaImmagine))

{

//Imposta le proprietà per una migliore qualità (opzionale)

graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;

graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;

//Disegna l'immagine originale sulla nuova bitmap, ridimensionandola ed impostando le varie proprietà

graphics.DrawImage(bmpOriginale, 0, 0, width, height);

}

//Salva la nuova immagine

bmpNuovaImmagine.Save(percorsoNomeNuovoFile, ImageFormat.Jpeg);

}

}

MessageBox.Show("Immagine ridimensionata con successo!");

}

catch (System.Exception ex)

{

MessageBox.Show("Errore: " + ex.Message);

}

}





D seguito il frammento di codice, da utilizzare nell'evento click di un pulsante, per richiamare la funzione precedente.


C#

private void BtnRisoluzione_Click(object sender, EventArgs e)

{

// Imposta i percorsi e le dimensioni desiderate

string percorsoNomeFileOriginale = "C:\\varie\\menu.jpg";

string percorsoNomeNuovoFile = "C:\\varie\\menu19201080.jpg";

 

int newWidth = 1920;

int newHeight = 1080;

// Chiama la funzione per ridimensionare l'immagine

ResizeImage(percorsoNomeFileOriginale, percorsoNomeNuovoFile, newWidth, newHeight);

}







Nessun commento: