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