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

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
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", <SPAN Style="text-decoration:underline">evitando però che il testo sia integrato nell'immagine medesima in un nuovo file immagine</span>, 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. <SUP>&#091;[[#Note|Nota 1]]&#093;</sup>
 +
<BR>Così ad esempio, se si vuole anche colorare di rosso il testo (oltre ad assegnargli un allineamento "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>"
 +
 
 +
 
 +
 
 +
=Note=
 +
[1] Riguardo ai "TAG" del protocollo HTML compatibili con gli Oggetti grafici di Gambas, vedere questa pagina: [[Elenco_delle_istruzioni_HTML_compatibili|Elenco delle istruzioni HTML compatibili]]

Versione attuale delle 10:31, 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. [Nota 1]
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>"


Note

[1] Riguardo ai "TAG" del protocollo HTML compatibili con gli Oggetti grafici di Gambas, vedere questa pagina: Elenco delle istruzioni HTML compatibili