dachte ich, die genau die gleiche Sache, und so weit wie die Issue Tracker sagt:
Ja, so wurde der Artikel geschrieben zurück, wenn Safari einen Sicherungsspeicher Verhältnis von 2 hatte immer 1 in Chrome Es ist.
Wie Sie der Ansatz sagen für den Umgang mit diesem ist:
canvas.width = width * window.devicePixelRatio;
canvas.height = height * window.devicePixelRatio;
canvas.style.width = width + 'px';
canvas.style.height = height + 'px';
Wo width
und height
sind aber Sie wollen, dass sie (wahrscheinlich window.innerWidth & InnerHeight für vollständige Viewport-Shenanigans.)
Dann brauchen Sie nur für die Tatsache anpassen, dass Sie die Leinwand mit Upscaling:
ctx.scale(window.devicePixelRatio, window.devicePixelRatio);
So haben Sie Ihre Lösung.
Jeder von Dart-Team weiß das? – kzhdev