Sandro Bizioli


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

Creare un'immagine "vuota" in VB.Net

Ecco una semplice funzione per creare un oggetto Image con dimensioni e colore configurabili.
Per queste ed altre operazioni grafiche .Net ci mette a disposizione il namespace System.Drawing.

Private Function getBlankImage(ByRef newSize As Size, ByVal theColor As System.Drawing.Color) As Image
'***********************************************************************************
'Func.: getBlankImage (Creazione SB-01/09/2007; Mod.: )
'Desc.: Viene creato un nuovo oggetto System.Drawing.Image con dimensioni e colore impostabili
'Par. : newSize          System.Drawing.Size con le misure della nuova immagine
'         theColor          System.Drawing.Color colore di riempimento dell'immagine
'Ret. : System.Drawing.Image
'***********************************************************************************

  '
  ' Creo un oggetto Bitmap vuoto delle dimensioni stabilite
  '
  Dim bm As New Bitmap(newSize.Width, newSize.Height)
  '
  ' Ottengo l'oggetto Graphics per questa Bitmap
  '

  Dim gr As Graphics = Graphics.FromImage(bm)
  '
  ' Riempio l'oggetto Graphics col colore scelto
  '
  gr.Clear(theColor)
  '
  ' Assegno l'oggetto image alla function
  '
  getBlankImage = bm.Clone
  '
  ' Elimino l'oggetto Graphics
  '
  gr.Dispose()
End Function

Un semplice esempio di come applicare la funzione potrebbe essere quello riportato di seguito.
All'avvio di un form viene fatto scegliere il colore di riempimento per un'immagine creata runtime ed impostata come sfondo al form stesso.

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
  '
  ' Creo un nuovo oggetto ColorDialog
  '
  Dim myColor As New ColorDialog
  '
  ' Mostro il colore che voglio utilizzare
  '
  myColor.ShowDialog()
  '
  ' Assegno al mio form una nuova immagine di dimensioni uguali al form stesso
  '
  Me.BackgroundImage = getBlankImage(Me.Size, myColor.Color)
  '
  ' Distruggo l'oggetto ColorDialog
  '
  myColor.Dispose()
End Sub

Categoria: VB.Net
mercoledì, 09 gen 2008 Ore. 17.38
Statistiche
  • Views Home Page: 109.894
  • Views Posts: 560.301
  • Views Gallerie: 108.955
  • n° Posts: 227
  • n° Commenti: 222
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003