Differenze tra le versioni di "Mostrare e usare in Gambas i simboli musicali forniti dal sistema UNICODE"

Da Gambas-it.org - Wikipedia.
Riga 76: Riga 76:
 
   
 
   
 
  End
 
  End
Un altro interessante esempio su tale argomento può essere visualizzato in questa pagina della Wiki: [[Creare, spostare e distruggere un'immagine in una DrawingArea]].
+
Altri interessanti esempi su tale argomento possono essere consultati in questa pagina della Wiki:
 +
<BR>[[Creare, spostare e distruggere un'immagine in una DrawingArea]],
 +
<BR>nonché - per gli iscritti al forum www.gambas-it.org - scaricando il progetto allegato nella seguente discussione del forum:
 +
<BR>https://www.gambas-it.org/smf/index.php?topic=8071.0

Versione delle 17:14, 3 lug 2023

Il sistema di codifica UNICODE contempla anche una buona parte dei simboli musicali occidentali assegnando a ciascuno di essi un numero univoco che va da U+1D100 a U+1D1B5.

Tali simboli possono essere consultati mediante l'applicazione "Tabella dei caratteri" fornita dal sistema operativo.
Possiamo visualizzare con Gambas tale gruppo di caratteri musicali ad esempio usando il seguente codice (sarà sufficiente posizionarsi sul riquadro giallo della PictureBox e ruotare la rotellina del mouse per far scorrere i siboli musicali forniti dal UNICODE):

Private i As Integer = &1D100


Public Sub Form_Open()

 With PictureBox1
   .W = 80
   .H = 90
   .Background = Color.SoftYellow
 End With 

End


Public Sub PictureBox1_MouseWheel()

 Dim im As New Image(PictureBox1.W, PictureBox1.H, Color.Transparent, Image.Standard)
 Dim s As String
 
 i = i + Mouse.Delta
 If i < &1D100 Then i = &1D100
 If i > &1D1B5 Then i = &1D1B5
 s = String.Chr(i)

 With Paint
   .Begin(im)
   .Font.Size = 28
   .DrawText(s, 20, 5, im.W, im.H, Align.Normal)
   .End
 End With

 PictureBox1.Image = im

End

Ottenere le figure musicali con il gambo in basso

Come si può notare, delle figure musicali aventi il gambo sono disponibili in UNICODE soltanto quelle con il gambo rivolto verso l'alto (posizionabili sul pentagramma dunque dal LA del secondo spazio in giù).
Per ottenere le figure musicali con il gambo rivolto verso il basso, bisognerà costruirle usando alcuni simboli forniti dallo stesso UNICODE.
Mostriamo un esempio con la figura della Croma:

Public Sub Form_Open()

 With PictureBox1
   .W = 30
   .H = 40
   .Background = Color.SoftYellow
 End With

 Dim im As New Image(PictureBox1.W, PictureBox1.H, Color.Transparent, Image.Standard)

 With Paint
   .Begin(im)
   .Font.Size = 28
   .Brush = .Color(Color.Blue)
' Disegna nell'Oggetto "Image" il carattere-simbolo della "Semiminima":
   .DrawText(String.Chr(&1D15F), 10, 20, 0, 0, Align.Center)
   .End
 End With
' Ribalta orizzontalmente il disegno della figura musicale:
 im = im.Mirror(True, False)
 With Paint
   .Begin(im)
   .Font.Size = 28
   .Brush = .Color(Color.Blue)
' Al disegno della "Semiminima ribaltata aggiunge il carattere-simbolo della coda della "Croma":
   .DrawText(String.Chr(&1D16E), 10, 18, 0, 0, Align.Center)
   .End
 End With
' Ribalta orizzontalmente il disegno sinora ottenuto:
 im = im.Mirror(False, True)

 PictureBox1.Image = im

End

Altri interessanti esempi su tale argomento possono essere consultati in questa pagina della Wiki:
Creare, spostare e distruggere un'immagine in una DrawingArea,
nonché - per gli iscritti al forum www.gambas-it.org - scaricando il progetto allegato nella seguente discussione del forum:
https://www.gambas-it.org/smf/index.php?topic=8071.0