Canvas e le curve di Bezier in html5

Creato il 06 aprile 2012 da Canvashtml5css3

Per disegnare le curve di Bezier in html5 dobbiamo utilizzare il metodo bezeirCurveTo(); che include 6 parametri.

Questi parametri definiscono i valori sull’asse x e y che spostano il punto sull’asse x in senso orizzontale e sull’asse in senso verticale.

  • i primi due valori si riferiscono al primo punto di controllo posizionato sull’asse x, y;
  • i valori 3 e 4 si riferiscono al secondo punto di controllo posizionato sull’asse x, y;
  • i valori 5 e 6 si riferiscono alle coordinate x e y per la linea di destinazione.

Vediamo un esempio pratico delle curve di Bezier. L’esempio dello script è scaricabile dal link in fondo alla pagina.

<!DOCTYPE HTML>
<html>
 <head><title>Bezier</title>
 </head>

<body>
 <canvas id="bezier" width="600" height="300">
 </canvas>

<script>
 var canvas = document.getElementById("bezier");
 var context = canvas.getContext("2d");
 var controlloX1 = 488 // sposta il primo punto in senso orizzon tale
 var controlloY1 = 30; // sposta il primo punto in senso vertica le
 var controlloX2 = 388; // sposta il secondo punto in senso oriz zontale
 var controlloY2 = 100; // sposta il secondo punto in senso vert icale
 var fineX = 500; // sposta il punto finale della linea in senso orizzontale
 var fineY = 180; // sposta il punto finale della linea in senso verticale

 context.moveTo(150, 130);
 context.bezierCurveTo(controlloX1, controlloY1, controlloX2, controlloY2, fineX, fineY);
 context.lineWidth = 10; //spessore della linea
 context.strokeStyle = "green"; // linea del colore
 context.stroke(); // richiama il metodo per visualizzare disegno
 </script>
 </body>
</html>

Come si vede dall’esempio le variabili controlloX1 e controlloY1 spostano il primo punto nel canvas in senso orizzontale ed in senso verticale. La stessa cosa avviene con controlloX2 e controlloY2 per il secondo punto.

Le variabili fineX e fineY modificano la lunghezza della linea di destinazione in senso orizzontale e verticale.

Modificando i valori delle 6 variabili possiamo decidere la lunghezza della linea e la sua curvatura.

Qui di seguito vi è una rappresentazione grafica dei punti di controllo.

Una volta definito i parametri del metodo impostiamo alcune proprietà delle curve, che in questo caso sono lineWidth() per lo spessore della linea, strokeStyle() per il colore e stroke() per la visualizzazione del disegno nel browser.

Nel prossimo post tratteremo, invece, di come impostare i vari tipi di angolo con lineJoin nel canvas. Non ti perdere questo appuntamento.

Per scaricare l’esempio informato html clicca su uno dei pulsanti din condivisione per visualizzare il link del download.

download esempio bezier
Link a questo articolo!Canvas e le curve di Bezier in html5" readonly="readonly" type="text" style="width: 100%;" onclick="javascript:this.select()" /> Category: Canvas e html5

Potrebbero interessarti anche :

Possono interessarti anche questi articoli :