Ответ 1
Документы WhatWG на холсте говорят следующее:
Размер координатного пространства не обязательно соответствует размеру фактического растровые изображения, которые пользовательский агент будет использовать внутри или во время рендеринга. На высокой четкости например, пользовательский агент может внутренне использовать растровые изображения с двумя пикселями устройства на каждый единица в координатном пространстве, так что рендеринг остается на высоком уровне. Аналогичным образом можно реализовать сглаживание с использованием избыточной выборки с растровыми изображениями более высокого уровня чем конечное изображение на дисплее.
и
Метод toDataURL() возвращает данные с разрешением 96 точек на дюйм. Метод toDataURLHD() возвращает его в собственном растровом разрешении canvas.
Как я понимаю, это то, что toDataURL
просто возвращает пиксели CSS (при 96 DPI); но реализация может использовать более высокую плотность пикселей, которая будет видна только через toDataURLHD
. То есть, даже если вы определяете свой холст размером 800x600, являясь размером пикселя CSS, реализация может фактически использовать плотность 192 DPI (1600x1200); если вы используете первый, вы получите 800x600, тогда как метод HD
обеспечит вам фактические пиксели, гарантированные.
Далее указано следующее:
Таким образом, в 2D-контексте вызов метода drawImage() для вывода вывода toDataURLHD() к холсту, учитывая соответствующие размеры, не имеет видимого эффекта.
Однако не гарантируется, что использование данных изображения из toDataURL
не будет иметь видимого эффекта (имеет худшее разрешение).