рендеринг следов чернил pptx на холсте html - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь отобразить следы чернил 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 (все еще не может идеально соответствовать оригинальной).

как рассчитать правильную координату на холсте? Большое спасибо.

...