我目前正在尝试使用KineticJS画布框架绘制弧形。问题是,这些弧线不够“完美”的圆形。
它们被绘制如下:
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]
});
我知道这可能是个问题,因为在像素介质上没有办法不用笔画抗锯齿来呈现几乎完美的圆形。
我想知道是否可以通过矢量图形呈现来解决这个问题,或者是否有其他解决方案?
我已经包含了一个JSFiddle来说明这个问题,圆正在绕其轴旋转。随着弧线旋转,这种效果更加明显,看起来它们在“晃动”。
JSFiddle: http://jsfiddle.net/EHDFV/
fillStroke()
方法后包含ctx.endPath()
会破坏原始的JSFiddle... - zesda.endPath()
。 - Pointy