Immagine di sfondo al testo in una TextEdit ed in una TextLabel

Da Gambas-it.org - Wikipedia.

Il caso è quello in cui si vuole ottenere una immagine che fa da sfondo ad un testo in una "TextEdit" o in una "TextLabel", evitando però che il testo sia integrato nell'immagine medesima in un nuovo file immagine, mantenendo così testo e immagine sostanzialmente come elementi ben distinti fra loro.

Poiché, però, la TextEdit e la TextLabel non possiedono Proprietà specifiche per caricare direttamente le immagini, ci serviremo, in alternativa, per la TextEdit della Proprietà ".RichText", e per la TextLabel della Proprietà ".Text", utilizzando al loro interno il codice HTML.
In particolare, ci serviremo del tag <TABLE>, creando così una tabella per sfruttare così la capacità della sua proprietà "background" di caricare le immagini.

Facciamo un esempio pratico con una TextEdit :

Public Sub Form_Open()

 Dim prc As String

' Imposta il percorso del file immagine da caricare e che farà da sfondo al testo:
 prc = "/percorso/del/file/immagine"

' Per caricare l'immagine effettivamente in una "TextEdit", bisogna crearvi una "Tabella" con gli appositi tag HTML .  
' Si sfrutterà, a tal fine, la capacità della <TABLE> di caricare le immagini.  
' Imposta le dimensioni della tabella in base alle dimensioni della immagineda mostrare come sfondo al testo.  
' Quindi con la proprietà "background" della Tabella carica effettivamente l'immagine nella predetta Tabella creata e dimensionata:  
 TextEdit1.RichText = "<TABLE width=" & ImageStat(prc).Width & " height=" & ImageStat(prc).Height & " background=" & prc &  
 "><TR><TD align=justify>Questo è il testo che starà al di sopra dell'immagine</td></tr></table>"

End

L'intero testo, che sarà contenuto nella TextEdit, o nella TextLabel, affinché possa stare tutto al di sopra dell'immagine caricata, dovrà continuare ad essere gestito all'interno della cella (nel tag <TD> ) della Tabella. Quindi anche eventuali cambiamenti delle sue proprietà (colore, stile, etc) dovranno essere gestiti secondo il protocollo HTML.
Così ad esempio, se si vuole anche colorare di rosso il testo (oltre ad assegnargli un allineamento "giustificato"), l'ultima riga diventerà:

TextEdit1.RichText = "<TABLE width=" & ImageStat(prc).Width & " height=" & ImageStat(prc).Height & " background=" & prc &
"><TR><TD align=justify style=color:red>Questo è il testo che starà al di sopra dell'immagine</td></tr></table>"