Ich spiele um mit mehreren abgeschnitten Formen auf Leinwand wie folgt aus:HTML5-Canvas-Clip javascript Problem mit Chrome
aber (nur in Chrome), wenn Sie die Breite oder Höhe dieser Leinwand erhöhen Element von sogar 1px, es macht nicht alle Formen.
Irgendwelche Ideen? Werfen Sie einen Blick auf die jsfiddle:
https://jsfiddle.net/entozoon/6fqq0567/
Der Code ist ziemlich geradlinig:
for (i=1;i<=5;i++) {
ctx.save();
// clipping mask
ctx.beginPath();
ctx.arc(50 * i, 50, 20, 0, Math.PI * 2, true);
ctx.closePath();
ctx.clip();
// shape to be clipped
ctx.beginPath();
ctx.fillStyle = "red";
ctx.arc(50 * i, 70, 20, 0, Math.PI * 2, true);
ctx.closePath();
ctx.fill();
ctx.restore();
}
- UPDATE -
Es stellt sich heraus, dass das Problem zu tun ist, mit 2D-Leinwandbeschleunigung. Wenn ich 'Accelerated 2D Canvas' in Chrome deaktivieren: // Flags, die es behebt.
Dies ist definitiv KEINE Lösung!
Muss ein Grafikproblem sein ..? (ja ich habe aktuelle Fahrer, Chrom, etc.)
Größenanpassung funktioniert für mich auf Win10, Chrome 49.0.2623.110. Chrome hat in letzter Zeit ein paar Canvas-Buggy-Versionen veröffentlicht ... vielleicht aktualisiert? – markE
kann nicht auf OSX 10.9, Chrome 49.0.2623.110 – Kaiido