Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Creare miniature di immagini in C#

Articolo scritto da Vincenzo Gaglio
Pagina 2 di 2

Nell’evento click del button Genera invece inseriamo il codice che materialmente genera la miniatura dell’immagine presente del percorso selezionato

//Dichiariamo una variabile a livello  di classe
Image imgThumb = null;

private void generaBtn_Click(object sender, EventArgs e)
{
  try
  {
    Image image = null;
    //Controlliamo se la textbox contiene un percorso
    if (fileTb.Text != String.Empty)
    image = Image.FromFile(fileTb.Text);
    //Controlliamo se l'immagine esiste
    if (image != null)
    {
      imgThumb = image.GetThumbnailImage(100, 100, null, new IntPtr());
      this.Refresh();
    }
  }
  catch
  {
  MessageBox.Show("Si è verificato un errore");
  }
}

Questo codice, utilizzando il metodo Image.GetThumbnailImage(), crea un oggetto Image di dimensione 100x100. Il metodo richiede come parametri in ordine: la largehezza in pixel della miniatura, l’altezza in pixel della miniatura, un delegato di tipo Image.GetThumbnailImageAbort per interrompere prematuramente l’operazione (si può passare il valore NULL come ho fatto io se non si vuole gestire questo aspetto) ed infine un oggetto di tipo IntPtr per rappresentare un puntatore.

Il passo finale è quello di generare l’evento Paint() del form (che si verifica in seguito alla chiamata al metodo Refresh() presente nell’evento click del button Genera) ed inserire al suo interno il codice che determina la visualizzazione della minitura nel nostro form (tramite il metodo Graphics.DrawImage)

private void Form1_Paint(object sender, PaintEventArgs e)
{
  if (imgThumb != null)
  e.Graphics.DrawImage(imgThumb, 30, 20, imgThumb.Width, imgThumb.Height);
}

A questo punto possiamo avviare l’applicazione, selezioniamo un’immagine cliccando su Apri e poi clicchiamo su Genera. Il risultato dovrebbe essere simile al seguente

Corsi
Corso ASP.NETCorso ASP.NET
Corso completo per la creazione di applicazioni Web. A partire da 49 €.
Corso VB.NETCorso VB.NET
Realizzare applicazioni Desktop con Visual Basic .NET. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122