Тестирование в Chrome, Edge, IE-11.
Возможно, я придирчив, но кажется, что изменение размера с любого другого размера, кроме 600x400, сильно влияет на функциональность. Я признаю, что основная причина, по которой я хочу это сделать, заключается в том, что я надеюсь использовать эту библиотеку не только как блокнот для подписи (она используется таким образом), но и как аннотатор изображений.
Кажется, что это сработало бы хорошо, если бы только оно не сильно сбрасывалось каждый раз, когда вы меняете размер от этого, казалось бы, размера по умолчанию.
В настоящее время работает версия 1.5 подписи_pad.js и подписи_pad.min.js.
+1 только что попробовал этот пакет и возникли проблемы с размером. В идеале я хочу, чтобы он занимал всю ширину на мобильных устройствах и был меньше на настольных компьютерах. @szimek есть идеи?
В чем именно заключаются эти проблемы с размером?
Возьмите этот пример. При рисовании позиция неверна http://jsfiddle.net/4qjwr06h/1/
Ладно, я, наверное, тупой. Если я хочу, чтобы он был отзывчивым, я не должен делать width: 100%
с <canvas>
, поскольку он не меняет фактическую ширину холста, а вместо этого растягивает его. Вместо этого следует использовать фиксированную ширину.
Вы можете проверить метод resizeCanvas
в демонстрационном приложении. Если вы добавите эти 2 строки в свою демонстрацию, она будет работать нормально:
canvas.height = canvas.offsetHeight;
canvas.width = canvas.offsetWidth;
Мой код также учитывает devicePixelRatio
, но, честно говоря, я не уверен, что он на 100% правильный.
Я думаю, у меня все получилось, спасибо, ребята
Виват Иисус
От: Шимон Новак [mailto:[email protected]]
Отправлено: среда, 7 октября 2015 г., 10:14
Кому: szimek/ signature_pad [email protected]
Копия: crazzeto [email protected]
Тема: Re: [signature_pad] Ширина и высота (#118)
Вы можете проверить метод https://github.com/szimek/signature_pad/blob/master/example/js/app.js#L10 -L18 resizeCanvas в демонстрационном приложении. Если вы добавите эти 2 строки в свою демонстрацию, она будет работать нормально:
холст.высота = холст.смещениеВысота;
холст.ширина = холст.смещениеширины;
Мой код также учитывает дисплеи сетчатки, но, честно говоря, я не уверен, что он на 100% правильный.
—
Ответьте на это письмо напрямую или просмотрите его на GitHub https://github.com/szimek/signature_pad/issues/118#issuecomment -146207233 .
Могу ли я предложить поместить эти строки
canvas.height = canvas.offsetHeight;
canvas.width = canvas.offsetWidth;
в документах/README? Мне потребовалось довольно много времени, чтобы понять это, и я думаю, что это может быть верно и для других, неопытных в <canvas>
.
@Boldewyn Спасибо за предложение. Есть пиар, который должен сделать это ненужным. К концу года я либо солью его и обновлю демо-приложение, либо добавлю эту информацию в README.
Самый полезный комментарий
Вы можете проверить метод
resizeCanvas
в демонстрационном приложении. Если вы добавите эти 2 строки в свою демонстрацию, она будет работать нормально:Мой код также учитывает
devicePixelRatio
, но, честно говоря, я не уверен, что он на 100% правильный.