Я пытаюсь отобразить следы чернил pptx на элементе html canvas, потратив часы на борьбу с документами InkML, я чувствую растерянность по поводу координаты.
говорят, что inkSource определен как:
<inkml:traceFormat>
<inkml:channel name="X" type="integer" max="2736" units="cm"/>
<inkml:channel name="Y" type="integer" max="1824" units="cm"/>
<inkml:channel name="T" type="integer" max="2.14748E9" units="dev"/>
</inkml:traceFormat>
<inkml:channelProperties>
<inkml:channelProperty channel="X" name="resolution" value="105.23077" units="1/cm"/>
<inkml:channelProperty channel="Y" name="resolution" value="105.43353" units="1/cm"/>
<inkml:channelProperty channel="T" name="resolution" value="1" units="1/dev"/>
</inkml:channelProperties>
координата первой точки в файле inkML (9061, 10298), так как рассчитать правильную координату на холсте 1280 * 720? другими словами, как установить правильный коэффициент масштабирования холста (используя метод CanvasRenderingContext2D.scale ())?
мой экран работает с разрешением 96 точек на дюйм, что составляет около 38 пикселей на см. если «разрешение X = 105 / см» означает 105 «точек» на см, то коэффициент масштабирования будет 38 / 105≈0,362? Это неправильно, результат рендеринга намного больше, чтобы соответствовать исходной трассе.
Я пытался вручную изменить число, лучший коэффициент - около 0,0374 (все еще не может идеально соответствовать оригинальной).
как рассчитать правильную координату на холсте? Большое спасибо.