Attualmente sto cercando di disegnare gli archi utilizzando la struttura di canvas KineticJS. Il problema che sto avendo è che questi archi non sono così circolari "perfettamente" come richiesto.Disegno di archi perfettamente circolari con HTML5 Canvas + KineticJS
Stanno essendo attirato come segue:
var redArc = new Kinetic.Shape({
drawFunc: function (canvas) {
var ctx = canvas.getContext();
ctx.beginPath();
ctx.arc(x, y, r, 0, Math.PI/2, true); // Arc of 270°
canvas.fillStroke(this);
},
x: x,
y: y,
stroke: 'rgb(255,0,0)',
strokeWidth: 20,
offset: [x, y]
});
sapevo che questo sarebbe stato un problema dato che non esiste una cosa come il rendering di un cerchio quasi perfetto su un supporto a base di pixel senza l'uso di anti-aliasing sulla corsa
stavo vagando se questo problema potrebbe essere risolto mediante rendering con grafica vettoriale o se ci fosse una soluzione alternativa?
Ho incluso un JSFiddle per delineare questo problema, i cerchi sono animati ruotando intorno al proprio asse. Questo effetto è più evidente con gli archi che appaiono "oscillare" mentre ruotano.
JSFiddle: http://jsfiddle.net/EHDFV/
purtroppo non posso dire nulla in argomento, ma quando si ctx.beginPath() si dovrebbe anche ctx.endPath() dopo la chiamata fillStroke. – Philipp
Questi archi mi stanno bene. Non vedo alcuna "oscillazione". Cosa ** esattamente ** intendi quando dici che sono imperfetti? – Pointy
@Philipp Posso vedere da dove vieni, ma per questo esempio 'endPath()' non ha davvero bisogno di essere chiamato perché non esiste un "end path", l'arco stesso viene disegnato entro i limiti dei suoi parametri. – zesda