Sandro Bizioli


Chi sogna di giorno conosce molte cose che sfuggono a chi sogna soltanto di notte. (E.A.Poe)
Mappa

Catturare l'intero schermo in VB.Net

Per ottenere un'istantanea dell'interno schermo sottoforma di oggetto Bitmap, in VB.Net è abbastanza semplice, basta appoggiarsi alle classi Bitmap e Graphics dello Spazio dei nomi System.Drawing.

La funzione qui riportata crea una nuova immagine di dimensioni uguali alla superficie dello schermo in uso.

Private Function CaptureScreen() As System.Drawing.Bitmap
  ' Creo un oggetto bitmap di dimensioni uguali allo schermo
  Dim b As Bitmap = New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
  ' Creo l'oggetto graphics
  Dim g As Graphics = Graphics.FromImage(b)
  ' Definisco un oggetto Size con le dimensioni dello schermo
  Dim sz As Size = New Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
  ' Catturo l'intera area dello schermo
  g.CopyFromScreen(0, 0, 0, 0, sz, CopyPixelOperation.SourceCopy)
  ' Restituisco l'oggetto bitmap
  Return b
End Function

Ecco un esempio concreto di come applicare la funzione:
 - Creare un nuovo progetto Vb.Net
 - Creare un form
 - Inserire un pulsante chiamato btnCattura ed una PictureBox chiamata myPictureBox
 - Assegnare all'evento btnCattura l'istruzione myPictureBox.Image = CaptureScreen (come riportato in seguito)
 - Copiare la funzione CaptureScreen
 - Eseguire il progetto 

Private Sub btnCattura(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCattura.Click
  ' Catturo lo schermo e lo visualizzo nella PictureBox
  myPictureBox.Image = CaptureScreen
End Sub

Una volta ottenuta l'immagine sarà anche possibile salvarla su disco in vari formati come riportato in questo post.

Categoria: VB.Net
lunedì, 29 ott 2007 Ore. 12.09
Statistiche
  • Views Home Page: 109.930
  • Views Posts: 560.408
  • Views Gallerie: 109.011
  • n° Posts: 227
  • n° Commenti: 222
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003