Differenze tra le versioni di "Creare da codice un'immagine trasparente"
Da Gambas-it.org - Wikipedia.
Riga 8: | Riga 8: | ||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
− | Dim | + | Dim im As Image |
+ | With im = New Image(100, 100, <FONT color=#B22222>&FF000000</font>, Image.Standard) | ||
+ | <FONT color=gray>' ''oppure anche: '''New Image(100, 100, Color.Transparent, Image.Standard)'''''</font> | ||
+ | .Save("/tmp/immagine_trasparente.png", 100) | ||
+ | End With | ||
− | + | PictureBox1.Image = im | |
− | |||
− | |||
− | |||
− | |||
'''End''' | '''End''' | ||
Riga 25: | Riga 25: | ||
Dim pc As Picture | Dim pc As Picture | ||
− | |||
<FONT color=gray>' ''Creando la variabile di tipo "Picture", porremo il terzo parametro a "True":''</font> | <FONT color=gray>' ''Creando la variabile di tipo "Picture", porremo il terzo parametro a "True":''</font> | ||
Riga 33: | Riga 32: | ||
<FONT color=gray>' ''I formati utili per generare immagini trasparenti sono ".png" e ".xpm":''</font> | <FONT color=gray>' ''I formati utili per generare immagini trasparenti sono ".png" e ".xpm":''</font> | ||
− | .Save(" | + | .Save("/tmp/immagine_trasparente.png", 100) |
End With | End With | ||
Riga 46: | Riga 45: | ||
Dim wc, hr As Short | Dim wc, hr As Short | ||
Dim s, px As String | Dim s, px As String | ||
− | |||
<FONT color=gray>' ''La variabile "wc" rappresenta il numero di pixel della dimensione orizzontale (numero di colonne) dell'immagine:''</font> | <FONT color=gray>' ''La variabile "wc" rappresenta il numero di pixel della dimensione orizzontale (numero di colonne) dell'immagine:''</font> | ||
− | + | wc = 100 | |
<FONT color=gray>' ''La variabile "hr" rappresenta il numero di pixel della dimensione verticale (numero di righe) dell'immagine:''</font> | <FONT color=gray>' ''La variabile "hr" rappresenta il numero di pixel della dimensione verticale (numero di righe) dell'immagine:''</font> | ||
− | + | hr = 100 | |
− | + | px = String$(hr, "\"" & String$(wc, ".") & "\",\n") | |
− | + | s = "/* XPM */\n" & | |
− | + | "static char *" & Application.Name & "[]={\n" & | |
− | + | "\"" & wc & " " & hr & " 1 1\",\n" & <FONT color=gray>' ''Valori: <width/cols> <height/rows> <colors> <char on pixel>''</font> | |
− | + | "\". c None\",\n" & <FONT color=gray>' ''Colors''</font> | |
− | + | px & "};" <FONT color=gray>' ''Pixels''</font> | |
<FONT color=gray>' ''Viene salvata l'immagine, per essere successivamente caricata ed utilizzata:''</font> | <FONT color=gray>' ''Viene salvata l'immagine, per essere successivamente caricata ed utilizzata:''</font> | ||
− | + | File.Save("/tmp/immagine_trasparente.xpm''</font>", s) | |
'''End''' | '''End''' |
Versione delle 19:07, 7 dic 2021
Talvolta può rendersi necessario utilizzare una o più immagini trasparenti.
E' possibile evitare di dover caricare preliminarmente nel progetto un file di un'immagine trasparente, generandola direttamente via codice Gambas con almeno tre modalità.
Mediante la Classe Image
Si potrà fare uso delle risorse disponibili con la Classe Image:
Public Sub Button1_Click() Dim im As Image With im = New Image(100, 100, &FF000000, Image.Standard) ' oppure anche: New Image(100, 100, Color.Transparent, Image.Standard) .Save("/tmp/immagine_trasparente.png", 100) End With PictureBox1.Image = im End
Mediante la Classe Picture
Si potrà fare uso delle risorse disponibili con la Classe Picture:
Public Sub Button1_Click() Dim pc As Picture ' Creando la variabile di tipo "Picture", porremo il terzo parametro a "True": With pc = New Picture(100, 100, True) ' Oppure il terzo parametro può essere impostato anche così: ' With pc = New Picture(100, 100, Color.Transparent) ' I formati utili per generare immagini trasparenti sono ".png" e ".xpm": .Save("/tmp/immagine_trasparente.png", 100) End With End
Mediante il protocollo del file immagine XPM
Si potrà anche fare uso del protocollo relativo ai file immagine del formato XPM.
Public Sub Button1_Click() Dim wc, hr As Short Dim s, px As String ' La variabile "wc" rappresenta il numero di pixel della dimensione orizzontale (numero di colonne) dell'immagine: wc = 100 ' La variabile "hr" rappresenta il numero di pixel della dimensione verticale (numero di righe) dell'immagine: hr = 100 px = String$(hr, "\"" & String$(wc, ".") & "\",\n") s = "/* XPM */\n" & "static char *" & Application.Name & "[]={\n" & "\"" & wc & " " & hr & " 1 1\",\n" & ' Valori: <width/cols> <height/rows> <colors> <char on pixel> "\". c None\",\n" & ' Colors px & "};" ' Pixels ' Viene salvata l'immagine, per essere successivamente caricata ed utilizzata: File.Save("/tmp/immagine_trasparente.xpm</font>", s) End