Signature_pad: ์ž๋ฅด๊ธฐ toDataURL('์ด๋ฏธ์ง€/svg+xml');

์— ๋งŒ๋“  2017๋…„ 02์›” 07์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: szimek/signature_pad

์•ˆ๋…•ํ•˜์„ธ์š”. ๋‚ด๊ฐ€ ์บ”๋ฒ„์Šค๋ฅผ ์ž๋ฅด๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฒŒ์‹œ๋ฌผ์„ ์ฝ๋Š” ๋™์•ˆ ์ถœ๋ ฅ์€ ๊ธฐ๋ณธ 64 png์ž…๋‹ˆ๋‹ค. ์˜ˆ, ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ฏ€๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ํŠธ๋ฆฌ๋ฐ์„ ํ•˜๋Š” ๊ฒƒ์ด ํ™•์‹คํžˆ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

base 64 svg์— ๋Œ€ํ•œ ์ž๋ฅด๊ธฐ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. svg๋Š” ๋ฒกํ„ฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ์ถœ๋ ฅ์— ๊ฐ€์žฅ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

enhancement

๋ชจ๋“  5 ๋Œ“๊ธ€

์ถฉ๋Œ. ์ด๊ฒƒ์€ ๋งค์šฐ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ^_^

์ด ๊ธฐ๋Šฅ์ด ๊ด€์‹ฌ์„ ๋Œ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

3๋…„์ด ์ง€๋‚ฌ๋Š”๋ฐ๋„ ๋‹ต์ด ์—†๋‹ค. ์ถฉ๋Œ

3๋…„์ด ์ง€๋‚ฌ๋Š”๋ฐ๋„ ๋‹ต์ด ์—†๋‹ค. ์ถฉ๋Œ

์ข‹์•„, ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ๊ฐ์ •์ ์œผ๋กœ ๋งŒ๋“ค์—ˆ๊ณ  ์ด ๋ฌธ์ œ๋ฅผ ํ•œ ๋ฒˆ์— ๋๋‚ด๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์†”๋ฃจ์…˜์œผ๋กœ ๋Œ์•„์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ–‰๋ณตํ•œ ์ฝ”๋”ฉ.

PR์„ ํ™˜์˜ํ•˜์ง€๋งŒ ์ด ์ž๋ฅด๊ธฐ ์ฝ”๋“œ๋ฅผ ๋ณ„๋„์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๊ฐ€์ ธ์˜ฌ ํ•„์š”๊ฐ€ ์—†๋Š” ๋ณ„๋„์˜ ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์†Œ์ˆ˜์˜ ์‚ฌ๋žŒ๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋ถ€ํ’€๋ ค์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋” ์ด์ƒ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ณง ๋ช‡ ๊ฐ€์ง€๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๋‚ด๊ฐ€ ์œ ์ง€ ๋ณด์ˆ˜๋ฅผ ์ฐพ๊ณ  ์žˆ๋Š” ์ •๋ณด๋กœ README ํŒŒ์ผ์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ณต๊ฒฉ์ ์œผ๋กœ ๋“ค๋ ธ๋˜ ์  ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ํ™”๋‚˜๊ฒŒ ํ•  ์˜๋„๊ฐ€ ์—†์—ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€๋ฅผ ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ–‰๋ณตํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๋‹ต๋ณ€์„ ๊ฒ€์ƒ‰ํ•  ๋•Œ ๋งˆ์Œ์— ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์€ ์‘๋‹ต์„ ๋ฐ›์ง€ ๋ชปํ•œ ์ด์ „ ํ‹ฐ์ผ“๊ณผ ๊ณต๊ฐœ ํ‹ฐ์ผ“์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋งˆ๋„ ์ œ๊ฐ€ szimeks์˜ ๋ช…๋ฐฑํ•œ ์‘๋‹ต์„ ๊ฐ„๊ณผํ•˜๊ณ  ๊ฐœ์„  ์‚ฌํ•ญ์œผ๋กœ ๋ฐ›์•„๋“ค์˜€์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํŒจํ‚ค์ง€์— ๋‹ค์‹œ ํ•œ ๋ฒˆ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

SVG๋ฅผ ์ž๋ฅด๋Š” ๋ฐฉ๋ฒ•์„ ํ•„์‚ฌ์ ์œผ๋กœ ์ฐพ๋Š” ์‚ฌ๋žŒ์—๊ฒŒ ์—ฌ๋Ÿฌ ์†”๋ฃจ์…˜์— ๋Œ€ํ•ด ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค.

  1. ๋‚˜๋Š” fabric.js์—์„œ ์ด๋Ÿฌํ•œ ์„œ๋ช…์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šด์ด ์ข‹์•˜์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๊ณต๋ฐฑ์„ ์ž๋™์œผ๋กœ ์ž๋ฅด๋Š” ๋ฐฉ์‹์œผ๋กœ SVG๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ฐธ์กฐํ•˜์„ธ์š”.
fabric.loadSVGFromURL(svgFilePath, () => {
  // these are your signature path elements grouped together 
    var loadedObjects = new fabric.Group(group);
  },
  function (item, object) {
    object.set("id", item.getAttribute("id"));
    group.push(object);
  }
);

2, SVG xml ์ฝ”๋“œ์˜ viewBox ์†์„ฑ์„ ์ˆ˜์ •ํ•˜์—ฌ ์„œ๋ช…๋งŒ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ทธ๋ ‡์ง€ ์•Š๊ณ  ๋ฐฐ๊ฒฝ์ด ๋น„์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ณต๋ฐฑ ์ œ๊ฑฐ๋ฅผ ์ƒ๋žตํ•˜๊ณ  ์„œ๋ช…์˜ ์ „์ฒด ๋ฒกํ„ฐ "์ด๋ฏธ์ง€"๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. PDF ํŒŒ์ผ์— SVG๋ฅผ ํฌํ•จํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ์—์„œ๋Š” ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

erangaapp picture erangaapp  ยท  8์ฝ”๋ฉ˜ํŠธ

Emmark picture Emmark  ยท  4์ฝ”๋ฉ˜ํŠธ

siggifv picture siggifv  ยท  3์ฝ”๋ฉ˜ํŠธ

kevinchung1026 picture kevinchung1026  ยท  5์ฝ”๋ฉ˜ํŠธ

chenks picture chenks  ยท  7์ฝ”๋ฉ˜ํŠธ