À propos du projet

Signature Pad est une bibliothèque JavaScript permettant de dessiner des signatures fluides dans le navigateur. Elle repose sur l'élément canvas HTML5 et utilise une interpolation de courbes de Bézier à largeur variable, une approche décrite dans l'article « Smoother Signatures » de Square. La bibliothèque n'a aucune dépendance externe et est destinée aux navigateurs modernes de bureau et mobiles. L'installation est possible via npm (`npm install --save signature_pad`) ou Yarn, et elle peut aussi être chargée directement avec une balise script depuis un CDN. Elle est distribuée en versions UMD et module ES6. API principale : après avoir créé une instance `SignaturePad` sur un élément canvas, vous pouvez exporter le dessin avec `toDataURL()` en PNG, JPEG (avec qualité optionnelle) ou URL de données SVG, ou obtenir le balisage SVG brut avec `toSVG()`. Les signatures peuvent être rechargées avec `fromDataURL()`, ou représentées sous forme de tableau de groupes de points via `toData()` et restaurées avec `fromData()`. Les autres méthodes incluent `redraw()`, `clear()`, `isEmpty()`, `off()` et `on()` pour dissocier et réassocier les gestionnaires d'événements. Les options incluent `dotSize`, `minWidth`, `maxWidth`, `throttle`, `minDistance`, `backgroundColor`, `penColor`, `velocityFilterWeight` et `canvasContextOptions`. Elles peuvent être définies à l'initialisation ou modifiées à l'exécution. Les événements incluent `beginStroke` (annulable), `endStroke`, `beforeUpdateStroke` et `afterUpdateStroke`, enregistrés via `addEventListener`. Le README documente aussi des sujets pratiques : la gestion des écrans à haute densité de pixels en mettant à l'échelle le canvas avec `devicePixelRatio`, la gestion de l'effacement du canvas par le navigateur lors d'un redimensionnement, le décodage des images en URI de données côté serveur (avec des exemples en Ruby, PHP et C#), le rognage de l'espace vide autour d'une signature, et le dessin par-dessus une image existante. Le projet est publié sous licence MIT.