์๋ ํ์ธ์ .fromDataURL()์ ์ฌ์ฉํ์ฌ ์ด ๋ฉ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ํฌ๊ธฐ์ ์บ๋ฒ์ค์์ ์์ฑ๋ ์๋ช ์ ๋ก๋ํ ๋ ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ง์ ๋์ง ์๊ณ ํฌ๊ธฐ์ 1/4์ด ๋ฉ๋๋ค.
์ด๊ฒ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ์ง ์๋์ง ํ์คํ์ง ์์ง๋ง ์๋ ์๋ช ํ๊ธฐ ์ ๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ์๋ช ์ ๋ก๋ํ๊ธฐ ์ ์ ์บ๋ฒ์ค ํฌ๊ธฐ๋ฅผ ์กฐ์ ํฉ๋๋ค.
์ด๊ฒ์ ๋ด ๋ ผ๋ฆฌ์ ๋ฌธ์ ๊ฐ ์์ต๋๊น? ์๋๋ฉด ์ ์ ์ด๊ฒ์ ๋ณธ ์ฌ๋์ด ์์ต๋๊น?
Btw, ๊ทธ๊ฒ์ window.devicePixelRatio๊ฐ ์ด๋ค ์ด์ ๋ก ๋์ผํ์ง ์์ ๊ฒ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ฌ์ ํ ์กฐ์ฌ ์ค์ด์ง๋ง ๋ด ์ฝ๋์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ต์ ๋ฒ์ (1.3.4)์ ์ฌ์ฉํ๊ณ ์์ต๋๊น? 1.3.3์ window.devicePixelRatio
fromDataURL
๋ฅผ ์์ ํด์ผ ํ์ง๋ง ์ค์ ๋ก 1.3.4์์ ์์ ๋์์ต๋๋ค.
์ต์ ๋ฒ์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋น์จ์ ์ ์ ํ๊ฒ ์์ ํ๋ฉด(๋ฐ๋ชจ์ฒ๋ผ) ๋ด ์๊ฐ๋ฝ์ด ์ ์ด ํ์๋๋ ์์น์ ์ผ์นํ์ง ์์ต๋๋ค.
๋๋ ๋จ์ง ๊ฐ๋จํ ๋ฐ๋ชจ๋ฅผ ๋ง๋ค๊ณ ์์ผ๋ฏ๋ก ๊ทธ๋ค์ง ์ค์ํ์ง ์์ผ๋ฉฐ ๋์ค์ ๋ ๋ค๋ฃฐ ๊ฒ์ ๋๋ค.
๋ค์์ ๊ฐ๋จํ ๋ฐ๋ชจ์
๋๋ค: http://jsfiddle.net/szimek/baL7r8xd. "๋ฐ๊พธ๊ธฐ" ๋ฒํผ์ ๋๋ฅด๋ฉด ์บ๋ฒ์ค๊ฐ ์ง์์ง๊ณ 1์ด ํ์ ์ด๋ฏธ์ง๊ฐ ๋ค์ ํ์๋ฉ๋๋ค. window.devicePixelRatio
๊ฐ 2์ธ iPhone์์๋ ์ ์๋ํฉ๋๋ค.
์ด์ํ๊ฒ๋ ๋ด ์๋๋ก์ด๋์์๋ ์๋ํฉ๋๋ค.
๊ณ ๋ง์, ๋๋ ๊ทธ๊ฒ์ ์์๋ผ ๊ฒ์ด๋ค :)
์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ์ฌ๋์ ์ํด ๋ด๊ฐ ๋ญ ์๋ชปํ๊ณ ์๋์ง ์์๋์ต๋๋ค.
๋ฐ์ดํฐ๋ฅผ ์
๋ ฅํ๊ธฐ ์ ์ .fromDataURL(data)
๋ฅผ ์ฌ์ฉํ์ฌ ์บ๋ฒ์ค์ ํฌ๊ธฐ๋ฅผ ์ ์ ํ๊ฒ ์กฐ์ ํด์ผ ํฉ๋๋ค.
function resizeCanvas(canvas) {
var ratio = window.devicePixelRatio || 1;
canvas.width = canvas.offsetWidth * ratio;
canvas.height = canvas.offsetHeight * ratio;
canvas.getContext('2d').scale(ratio, ratio);
}
resizeCanvas(canvas);
๋์ผํ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ต์
์ ์ถ๊ฐํ ์ ์์ต๋๋ค
signaturePad.fromDataURL(data, {width: 100, height: 100})
๋๋น, ๋์ด๋ ์บ๋ฒ์ค ํฌ๊ธฐ์ ๊ฐ์์ผ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์:
https://github.com/szimek/signature_pad/blob/master/src/signature_pad.ts
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋์ผํ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ๋ง๋ค๋ ค๋ฉด ์ต์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค
signaturePad.fromDataURL(data, {width: 100, height: 100})
๋๋น, ๋์ด๋ ์บ๋ฒ์ค ํฌ๊ธฐ์ ๊ฐ์์ผ ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์:
https://github.com/szimek/signature_pad/blob/master/src/signature_pad.ts