Ich versuche, ein glattes Oval mit ctx.clip -Eigenschaft in meiner Leinwand zu zeichnen.Ich habe mit Zeichnung Teil ich bin mit dem Problem mit ovalen Bogen Klarheit Linie konfrontiert.Jemand hat eine Ahnung hinsichtlich das lass es mich wissen? Hier ist mein Code. hier über die Linie Grenze oval nicht viel klarWie zeichne ein glattes Oval in Leinwand
<canvas id="c" width="400" height="400"></canvas>
var canvas = new fabric.Canvas('c');
var ctx = canvas.getContext('2d');
var cx=180;
var cy=200;
var w=300;
var h=250;
// Quadratric curves example
ctx.beginPath();
var lx = cx - w/2,
rx = cx + w/2,
ty = cy - h/2,
by = cy + h/2;
var magic = 0.551784;
var xmagic = magic*w/2;
var ymagic = h*magic/2;
ctx.moveTo(cx,ty);
ctx.bezierCurveTo(cx+xmagic,ty,rx,cy-ymagic,rx,cy);
ctx.bezierCurveTo(rx,cy+ymagic,cx+xmagic,by,cx,by);
ctx.bezierCurveTo(cx-xmagic,by,lx,cy+ymagic,lx,cy);
ctx.bezierCurveTo(lx,cy-ymagic,cx-xmagic,ty,cx,ty);
ctx.fill();
ctx.stroke();
ctx.clip();
var text;
text = new fabric.Text('Honey', {
fontSize: 50,
left: 150,
top: 150,
lineHeight: 1,
originX: 'left',
fontFamily: 'Helvetica',
fontWeight: 'bold'
});
canvas.add(text);
können Sie diese Ausgabe sehen.
A eine Pixelzeile wird nicht ganz klar sein, Sie zu Anti-Alias haben würde es –
was exacly @JuanMendes –