У меня есть div, к которому я применяю плагин jSignature с
var $sigdiv = $(".jsig")
$sigdiv.jSignature() // inits the jSignature widget.
У меня есть кнопка для захвата этого в base64, а затем передать его в PHP для создания образа на сервере.
$sig=$("#signature");
alert($sig.jSignature("getData"));
getData возвращает base64 для PNG, но мне нужен JPEG, и я не могу заставить его работать.
Кто-нибудь сталкивался с обходным путем, пожалуйста.
По состоянию на jSignature v2 "2016-11-05T00:40"
Я не смог найти способ экспортировать данные JPEG с jSignature без изменения кода компонента.
Применяя эту модификацию jSignature('getData')
Метод с опцией экспорта по умолчанию всегда будет экспортировать JPEG вместо PNG.
В качестве альтернативы вы можете улучшить exportplugins
Класс в коде компонента и добавить дополнительные параметры экспорта к нему.
Решение:
в jSignature.js или jSignature.min.js найдите
{return this.toDataURL()}
и изменить его на
{return this.toDataURL('image/jpeg', 0.8)}
который 0.8
качество изображения и может быть из 0.1
в 1.0
,
HTMLCanvasElement.toDataURL () объясняет другие доступные варианты.
Других решений пока нет …