Programmazione.it v6.4
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Forum
Greenpeace
Guida ad HTML5: l’elemento canvas, ombreggiature
Scritto da Pellegrino Principe il 23-07-2010 ore 10:19
Le operazioni di disegno effettuate nel canvas sono influenzate dai seguenti attributi globali di ombreggiatura appartenenti all'oggetto contesto, ritornato dalla funzione getContext:
  • shadowOffsetX, con cui si decide di quanti pixel il riquadro di ombreggiatura deve spostarsi sull’asse delle x. Questo valore può essere positivo, e allora determinerà i pixel di spostamento verso destra, e negativo, nel qual caso determinerà i pixel di spostamento verso sinistra. Di default il suo valore è pari a 0;
  • shadowOffsetY, con cui si decide di quanti pixel il riquadro di ombreggiatura deve spostarsi sull’asse delle y. Questo valore se positivo determinerà i pixel di spostamento verso il basso; se negativo determinerà i pixel di spostamento verso l’alto. Di default il suo valore è pari a 0;
  • shadowColor, con cui si attribuisce il colore dell’ombreggiatura espresso come colore CSS. Di default il suo valore è pari a: rgba(0,0,0,0), ovvero al colore nero trasparente;
  • shadowBlur, con cui si imposta il livello dell’effetto di Gaussian blur da applicare al riquadro. Ricordiamo che quest’effetto determina una sfocatura su di un’immagine. Quanto più basso è il valore tanto meno sfocato sarà il risultato, ovvero i colori dei pixel costituenti il riquadro di ombreggiatura saranno più nitidi. Di default il suo valore è pari a 0.
Vediamo il seguente snippet di codice, che disegna sul canvas sia un rettangolo fucsia con un riquadro di ombreggiatura rosso, distante dal rettangolo 7 pixel sull’asse delle x e sull’asse delle y, e con un lieve effetto di sfocatura del testo, che chiaramente conserverà gli stessi valori di ombreggiatura:
  1. // ottengo l'oggetto canvas
  2. var canvas = document.getElementById("tela");
  3.  
  4. // verifico se il browser in uso può utilizzare l'oggetto canvas
  5. if (canvas && HTML5.Features.hasCanvas())
  6. {
  7.     // ottengo il contesto 2D
  8.     var context = canvas.getContext("2d");
  9.  
  10.     // verifico se posso usare gli attributi di ombreggiatura
  11.     if (context && "shadowOffsetX" in context && "shadowOffsetY" in context && 
  12. "shadowBlur" in context && "shadowColor" in context)
  13.     {
  14.  
  15.         // imposto i valori degli attributi per avere un effetto di ombreggiatura sui 
  16.         // disegni del canvas
  17.         context.shadowOffsetX = 7;
  18.         context.shadowOffsetY = 7;
  19.         context.shadowBlur = 4;
  20.         context.shadowColor = "rgba(255,0,0,0.6)";
  21.  
  22.         // disegno un rettangolo
  23.         context.fillStyle = "#D0D";
  24.         context.fillRect(10, 10, 400, 200);
  25.  
  26.         // disegno del testo
  27.         context.font = "26px Tahoma";
  28.         context.fillStyle = "Black";
  29.         context.fillText("Un rettangolo ombreggiato...", 40, 250);
  30.     }
  31. }
Il risultato dell'esecuzione dello snippet è mostrato dalla seguente immagine:

4820058645_714cde1650_b.jpg

Precedente: Da Microsoft Research un nuovo metodo di ricerca delle immagini
Successiva: Una soluzione per l’analisi di qualità e sicurezza nelle applicazioni
Copyright Programmazione.it™ 1999-2013. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.293 secondi.