Differenze tra le versioni di "Immagine di sfondo al testo in una TextEdit ed in una TextLabel"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Il caso in questione prevede una immagine che fa da sfondo ad un testo in una ''TextEdit'' o in una ''TextLabel'', evitando però che il testo sia inegrato nell'immagine (evitando che venga creata insomma una nuova immagine) da mostrare successivamente, e mantenendo invece testo ed immagine come elementi ben distinti fra loro.
+
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 una sorta di proprietà ''.Picture'', capace di 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.
+
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.
<BR>In particolare, ci serviremo del tag &lt;TABLE>: ossia creeremo una tabella per sfruttare così la capacità della sua proprietà ''background='' di caricare le immagini.
+
<BR>In particolare, ci serviremo del tag &lt;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'':
+
Facciamo un esempio pratico con una ''TextEdit'' :
 
  '''Public''' Sub Form_Open()
 
  '''Public''' Sub Form_Open()
 
   
 
   
<FONT color=#006400>' ''Dichiariamo una variabile di tipo "Picture"...''</font>
+
   Dim prc As String
   Dim p As New Picture
 
 
   
 
   
  <FONT color=#006400>' ''...con la quale carichiamo l'immagine, che farà da sfondo;''
+
  <FONT color=gray>' ''Imposta il percorso del file immagine da caricare e che farà da sfondo al testo:''</font>
    ' ''ma la carichiamo qui solo per ottenere successivamente le sue dimensioni:''</font>
+
  prc = <FONT color=gray>''/percorso/del/file/immagine''</font>
      p = p.Load("''immagine_che_sarà_caricata_poi_come_sfondo''")
 
 
   
 
   
  <FONT color=#006400>' ''Per caricare l'immagine effettivamente in una "TextEdit", bisogna crearvi'' 
+
  <FONT color=gray>' ''Per caricare l'immagine effettivamente in una "TextEdit", bisogna crearvi una "Tabella" con gli appositi tag HTML .''   
' ''una "Tabella" con gli appositi tag HTML .''   
+
  ' ''Si sfrutterà, a tal fine, la capacità della &lt;TABLE> di caricare le immagini.''   
  ' ''Si sfrutterà, così, la capacità della &lt;TABLE> di caricare le immagini.''   
+
  ' ''Imposta le dimensioni della tabella in base alle dimensioni della immagineda mostrare come sfondo al testo.''   
  ' ''Impostiamo le dimensioni della tabella in base alle dimensioni'' 
+
  ' ''Quindi con la proprietà "background" della Tabella carica effettivamente l'immagine nella predetta Tabella creata e dimensionata:''</font>   
' ''della immagine precedentemente caricata nella variabile di tipo "Picture".''   
+
  TextEdit1.RichText = "&lt;TABLE width=" & ImageStat(prc).Width & " height=" & ImageStat(prc).Height & " background=" & prc &   
  ' ''Con la proprietà "background=" della Tabella carichiamo effettivamente'' 
+
  "><TR><TD align=justify>Questo è il testo che starà al di sopra dell'immagine</td></tr></table>"
' ''l'immagine nella predetta Tabella creata e dimensionata:''</font>   
 
    TextEdit1.RichText = "&lt;TABLE width=" & p.W & " height=" & p.H & " <FONT color=#B22222>background=</font>''immagine_da_caricare_come_sfondo''>" &   
 
    "&lt;TR>&lt;TD align=justify>Questo è il testo che starà al di sopra dell'immagine&lt;/td>&lt;/tr>&lt;/table>"
 
 
   
 
   
 
  '''End'''
 
  '''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 &lt;TD> ) della Tabella. Quindi anche eventuali cambiamenti delle sue proprietà (colore, stile, etc) dovranno essere gestiti secondo il protocollo HTML.
 
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 &lt;TD> ) della Tabella. Quindi anche eventuali cambiamenti delle sue proprietà (colore, stile, etc) dovranno essere gestiti secondo il protocollo HTML.
 +
<BR>Così ad esempio, se si vuole anche colorare di rosso il testo (oltre ad assegnargli un allineamente "giustificato"), l'ultima riga diventerà:
 +
TextEdit1.RichText = "&lt;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>"

Versione delle 10:26, 26 dic 2021

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 allineamente "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>"