Differenze tra le versioni di "Creare da codice un'immagine trasparente"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
 
Talvolta può rendersi necessario utilizzare una o più immagini <SPAN style="text-decoration:underline">trasparenti</span>.
 
Talvolta può rendersi necessario utilizzare una o più immagini <SPAN style="text-decoration:underline">trasparenti</span>.
  
Volendo, è possibile evitare di dover caricare preliminarmente nel progetto un file di un'immagine trasparente, ma generarla via codice Gambas. Ci serviremo delle protocollo relativo ai file immagine del [[Struttura_del_formato_XPM|formato ''XPM'']].
+
E' possibile evitare di dover caricare preliminarmente nel progetto un file di un'immagine trasparente, generandola direttamente via codice Gambas con almeno due modalità.
 +
 
 +
 
 +
===Mediante la Classe ''Image''===
 +
Si potrà fare uso delle risorse disponibili con la Classe ''Image'':
 +
'''Public''' Sub Button1_Click()
 +
 +
  Dim i As Image
 +
  Dim pc As Picture
 +
 +
 +
  With i = New Image(100, 100, &FFFFFF00, 0)
 +
    .Save("''/percorso/dell'immagine/trasparente''", 100)
 +
<FONT color=gray>' ''Generiamo anche una variabile di tipo "Picture", per un eventuale uso in una "PictureBox":''</font>
 +
    pc = i.Picture
 +
  End With
 +
 +
'''End'''
 +
 
 +
 
 +
===Mediante il protocollo del file immagine ''XPM''===
 +
Si potrà anche fare uso del protocollo relativo ai file immagine del [[Struttura_del_formato_XPM|formato ''XPM'']].
  
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
  Dim ss As String[]
 
 
   Dim wc, hr As Short
 
   Dim wc, hr As Short
 
   Dim s, px As String
 
   Dim s, px As String
 
   
 
   
    s = InputBox("Immettere numero dei pixel orizzontali e quello dei pixel verticali, divisi da una virgola:")
 
 
    ss = Split(s, ",")
 
 
   
 
   
  <FONT color=#006400>' ''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 = CShort(Trim(ss[0]))
+
     wc = 100
 
   
 
   
  <FONT color=#006400>' ''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 = CShort(Trim(ss[1]))
+
     hr = 100
 
   
 
   
 
     px = String$(hr, "\"" & String$(wc, ".") & "\",\n")
 
     px = String$(hr, "\"" & String$(wc, ".") & "\",\n")
Riga 23: Riga 40:
 
     s = "/* XPM */\n" &
 
     s = "/* XPM */\n" &
 
         "static char *" & Application.Name & "[]={\n" &
 
         "static char *" & Application.Name & "[]={\n" &
         "\"" & wc & " " & hr & " 1 1\",\n" &          <FONT color=#006400>' ''/* <Values> */ /* <width/cols> <height/rows> <colors> <char on pixel>*/''</font>
+
         "\"" & wc & " " & hr & " 1 1\",\n" &          <FONT color=gray>' ''Valori: <width/cols> <height/rows> <colors> <char on pixel>''</font>
         "\". c None\",\n" &          <FONT color=#006400>' ''/* <Colors> */''</font>
+
         "\". c None\",\n" &          <FONT color=gray>' ''Colors''</font>
         px & "};"         <FONT color=#006400>' ''/* <Pixels> */''</font>
+
         px & "};"                   <FONT color=gray>' ''Pixels''</font>
 
   
 
   
  <FONT color=#006400>' ''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("''percorso_immagine_trasparente''", s)
+
     File.Save("''/percorso/dell'immagine/trasparente''", s)
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 01:40, 5 set 2014

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 due modalità.


Mediante la Classe Image

Si potrà fare uso delle risorse disponibili con la Classe Image:

Public Sub Button1_Click()

 Dim i As Image
 Dim pc As Picture


  With i = New Image(100, 100, &FFFFFF00, 0)
    .Save("/percorso/dell'immagine/trasparente", 100)
' Generiamo anche una variabile di tipo "Picture", per un eventuale uso in una "PictureBox":
    pc = i.Picture
  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("/percorso/dell'immagine/trasparente", s)

End