<button id="save_button">์ ์ฅํ๊ธฐ</button>
์ด๋ ๊ฒ ๋ฒํผ ์์๋ฅผ ๋ง๋ค์ด์ค ํ,
JS ๋ก ๋ฒํผ์ ํด๋ฆญํ์ ๋์ ์ด๋ฒคํธ ํจ์๋ฅผ ๋ง๋ค์ด์ค๋ค.
const onSaveButtonClick = () => {
const image = canvas.toDataURL('image/jpeg');
const link = document.createElement('a');
link.href = image;
link.download = 'ProfileByDDOZZA';
link.click();
alert('save!');
};
canva.toDataUrl()
: ์ด๋ฏธ์ง ํํ์ ํฌํจํ๋ ๋ฐ์ดํฐ URL์ ๋ฐํํ๋ค. ํ์ผ ํ์์ ์ง์ ํ ์ ์๋๋ฐ, ๋ฐ๋ก ์ง์ ํ์ง ์์ผ๋ฉด PNG ํ์์ผ๋ก ๋ด๋ณด๋ด์ง๋ค. ๋ง์ ๊ฒฝ์ฐ์ image/jpeg ํน์ image/webp ํ์๋ ์ง์๋๋ค. ์ํ๋ ํ์ ์ด ์๋ค๋ฉด ๊ดํธ ์์ ์จ์ฃผ๋ฉด ๋๋ค.
<a>.href ์ ์ด๋ฏธ์ง ์์ฑํด์ค ์ด๋ฏธ์ง url ์ ๋ฃ์ด์ฃผ๊ณ ,
<a>.download ๋ก ์ฌ์ฉ์์๊ฒ URL ์ ์ ์ฅํ ์ง ๋ฌผ์ด๋ณธ๋ค. ๊ฐ์ ์ง์ ํ๋ฉด ํ์ผ ๋ช ์ด ๋๋ค.
link ์ ํด๋ฆญ ์ด๋ฒคํธ๋ฅผ ๋ฃ์ด์ค๋ค.
์ ์ฅ ์๋์ ๋ฃ์ด์คฌ๋๋ฐ, ํ์ธ์ ํด๋ฆญํด์ผํด์ 0.5. ์ด ๋ค์ ์ฌ๋ผ์ง๊ฒ ๋ง๋ค์ด์ผ๊ฒ ๋ค.
์ ์ ์ฅ๋๋ค!
<a> - HTML: Hypertext Markup Language | MDN
HTML <a> ์์(์ต์ปค ์์)๋ href ํน์ฑ์ ํตํด ๋ค๋ฅธ ํ์ด์ง๋ ๊ฐ์ ํ์ด์ง์ ์ด๋ ์์น, ํ์ผ, ์ด๋ฉ์ผ ์ฃผ์์ ๊ทธ ์ธ ๋ค๋ฅธ URL๋ก ์ฐ๊ฒฐํ ์ ์๋ ํ์ดํผ๋งํฌ๋ฅผ ๋ง๋ญ๋๋ค. <a> ์์ ์ฝํ ์ธ ๋ ๋งํฌ ๋ชฉ์ ์ง
developer.mozilla.org
https://developer.mozilla.org/ko/docs/Web/API/HTMLElement/click
HTMLElement.click() - Web API | MDN
HTMLElement.click() ๋ฉ์๋ ์๋ฆฌ๋จผํธ์ ๋ง์ฐ์ค ํด๋ฆญ์ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค.
developer.mozilla.org