Нашёл метод перенесения отрендеренной SVG картинки в Canvas: https://jsfiddle.net/Wijmo5/h2L3gw88/
Но ни в каких браузерах у меня не смог запуститься этот код. Canvas - пуст. Может кто знает что не так или у кого-то завалялся работающий примерчик?
Вроде проблема оказалась в том, что в SVG тэге не были прописаны xmlns-параметры. После этого и тот метод сработал. Но вот не подскажете ли, почему при таком методе картинка получается мутнее, чем в SVG? Можно ли это сглаживание отключать?
Но вот не подскажете ли, почему при таком методе картинка получается мутнее, чем в SVG?
Прямо точную причину не скажу, но вообще довольно известный факт, что HTML Canvas (он ведь появился еще 2000-х) в целом реализован с очень большим упором на перфоманс в ущерб качеству.
Можно попробовать побороться так: отрендерить канвас в 2-3-4 раза больше, а потом ресайз. Именно в ровное число раз, потому что алгоритмы ресайза у канваса... см. выше про перфоманс/качество. Лучше всего наверное в 4 раза, а потом 2-этапный ресайз по 2 раза каждый.