๋ฐ์ ํ๋ก์ ํธ์์ html2canvas๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. html์ ์บ๋ฒ์ค ์์๊ฐ ํฌํจ๋์ด์์ ๋ html2canvas๊ฐ ์๋ํ์ง ์์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ์บ๋ฒ์ค ์์ญ์ด ๋น์ด ์์ต๋๋ค.
์ด๊ฒ์ html ์ฌ์ง์
๋๋ค
์ด๊ฒ์ ์บ๋ฒ์ค ๊ทธ๋ฆผ์ผ๋ก ๋ณํํฉ๋๋ค
์บ๋ฒ์ค ์์ญ์์ 'echarts-for-react'๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด๋ ๋งต์ ๊ทธ๋ฆฝ๋๋ค.ํ์ง๋ง ๊ทธ๋ฆผ ์์ฑ ๋ฒํผ์ ํด๋ฆญํ๋ฉด dowload ๊ทธ๋ฆผ์ด ์๋ฃ๋์ง ์์ต๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
jsfiddle์ ๋ํ ์๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น?
๊ฐ์ ๋ฌธ์ . ํ์ด์ง์ chartjs ๊ทธ๋ํ๊ฐ ์์ผ๋ฉฐ ๋ ์ด์ ๋ ๋๋ง๋์ง ์์ต๋๋ค. ์ด์ ๋ฒ์ ์์ ๋ ๋๋งํ๋ ๋ฐ ์ฌ์ฉ
๋ฌธ์ ๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๋ฐ์ด์ฌ๋ฆฐ์ ๋ง๋ค์์ต๋๋ค.
https://jsfiddle.net/outerbound/v7p71wzr/
์ด๊ฒ์ ํฌ๋กฌ์์ ์๋ํ์ง ์์ต๋๋ค :(, ์ฌํ๋ฆฌ์์ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค :)
๋ฌธ์ ๋ ๋ ๋๋งํ๊ธฐ ์ ์ ์ปจํ ์ด๋ ์์ DOM์ ์ ๊ฑฐํ๋ ๊ฒ์ ๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ฑ์ ์...
html2canvas๋ gridstack.js ์ ํจ๊ป ์๋ํ์ง ์์ ์ ์์ต๋๋ค.
vue (vue-chart.js)์ ํจ๊ป chart.js๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์๊ณ Chrome์์๋ง ๋ฐ์ํฉ๋๋ค.
๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. html2canvas๋ gridstack.js์ ํจ๊ป ์๋ํ์ง ์์ต๋๋ค. html2canvans๋ฅผ gridstack๊ณผ ํจ๊ป ์ฌ์ฉํ ๋ ๋ชจ๋ ์์๊ฐ ๋งจ ์์ ์์
๋๋ค.
Nemo0915 I jsfiddle gridstack.js์ผ๋ก, ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ์์ fine.So ์ด์ฉ๋ฉด ๊ทธ gridstack.js์ ๋ฌธ์ ๊ฐ๋์ง ์์ต๋๋ค,ํ์ง๋ง ๋ ์์ฃผ ํ์คํ์ง ์๋ค.
๊ฐ์ ๋ฌธ์ , Firefox๋ ๊ด์ฐฎ์ง ๋ง Chorme๋ ์๋ํ์ง ์์ต๋๋ค.
@bigfacewo ๋ต์ฅ
@ Nemo0915 0.5.0-beta4 ๋ฒ์ ์ด ์ ์์ ์ผ๋ก ์๋ํ๋ jsfiddle . ์คํฌ๋ฆฐ ์ท์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1.0.0-alpha4 ๋ฒ์ , jsfiddle , ํฌ๋กฌ์์๋ ์๋ํ์ง ์์ง๋ง ์์๊ฐ ์๋จ์ ์์ด๋ ๋ฌธ์ ๋ฅผ ์ฐพ์ง ๋ชปํ์ต๋๋ค. ์ด๊ฒ์ Firefox์ ์คํฌ๋ฆฐ ์ท์
๋๋ค.
Chrome ๋ฒ์ : 63.0.3239.108
Firefox ๋ฒ์ : 57.0.2
์ต์ ์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค : removeContainer : false์ด ๋ฌธ์ ๋ฅผ ์ผ์์ ์ผ๋ก ์์ ํ์ต๋๋ค ....
๊ฐ์ฌํฉ๋๋ค @IxAres , ๊ทธ๊ฒ์ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
https://github.com/niklasvh/html2canvas/commit/38749bc4b6a861f778a915491fc7d84fea6e1a2f ์์ ์์ ๋์์ต๋๋ค.
removeContainer : false๋ฅผ ์ถ๊ฐํด ๋ณด์์ง๋ง ๋ฌธ์ ๊ฐ ์ฌ์ ํ ๋ชจ๋ฐ์ผ Chrome์ ์กด์ฌํฉ๋๋ค.
@niklasvh ์ ํ ์๋ํ์ง ์์ต๋๋ค. ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฒ์ 1.0.0-rc.5๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ด๋ด, ๋ฌด์จ ํด๊ฒฐ์ฑ ?
2020 ๋ ๋ฌธ์ ๋ ์ฌ์ ํ ์ฌ๊ธฐ์ ์์ต๋๋ค.
+1์ด ๋์๋๋ณด๊ณ ์์ต๋๋ค.
๋ฌธ์ ๊ฐ ์ฌ์ ํ ์กด์ฌํฉ๋๋ค
Chart.js ๋ฐ Firefox 76.0 (64 ๋นํธ) ๋ธ๋ผ์ฐ์ ์ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ฌ๊ธฐ ์์ ๋ด๋ถ์ Mapbox์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ฌ๊ธฐ์์ ๋์์ฃผ์ธ์.
๋๋ ๋ํ removeContainer : false๋ฅผ ์๋ํ์ง๋ง ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํ์ง ์์์ต๋๋ค.
@Rajeshgtstpl mapbox ์ ๋น์ทํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋งต ๋ฐ์ค ์ต์
์์ preserveDrawingBuffer: true
๋ฅผ ์ค์ ํ์ฌ ํด๊ฒฐํ์ต๋๋ค.
Chart.js๋ฅผ ์ฌ์ฉํ๊ณ ์์ง ์์ง๋ง drawImage๋ฅผ ์ฌ์ฉํ ์บ๋ฒ์ค์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด drawImage์ ์ ๋ฌํ๊ธฐ ์ ์ image.crossOrigin = 'anonymous'๋ฅผ ์ด๋ฏธ์ง ์์์ ๋ฃ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
image.crossOrigin = 'anonymous'
๋๊ตฐ๊ฐ๋ฅผ ๋์ธ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค :)
์๋ ํ์ธ์, ๋น์ทํ ์บ๋ฒ์ค ๋ด๋ณด๋ด๊ธฐ ๋ฌธ์ ๊ฐ ์์ง๋ง threejs ์ฅ๋ฉด์ ๊ถ์ฅ ์ฌํญ์ด ์์ต๋๊น? v1.0.0-rc.7๋ก ์๋ํ์ง๋ง threejs ์บ๋ฒ์ค๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ฒ์ ๋ด ๋ณด๋ ๋๋ค.
ํธ์ง : ๋ค์๊ณผ ๊ฐ์ด threejs ์บ๋ฒ์ค์ ์ถ๊ฐํ๋ ค๊ณ ํ์ต๋๋ค.
ํ์ง๋ง์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
@AchoArnold preserveDrawingBuffer: true
๊ฐ Mapbox์์ ์ ๋ฅผ ์ํด ์ผํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์ง๋ฌธ : ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์ณค์ต๋๊น?
Chart.js๋ฅผ ์ฌ์ฉํ๊ณ ์์ง ์์ง๋ง drawImage๋ฅผ ์ฌ์ฉํ ์บ๋ฒ์ค์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ด drawImage์ ์ ๋ฌํ๊ธฐ ์ ์ image.crossOrigin = 'anonymous'๋ฅผ ์ด๋ฏธ์ง ์์์ ๋ฃ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
image.crossOrigin = 'anonymous'
๋๊ตฐ๊ฐ๋ฅผ ๋์ธ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค :)
๊ทธ๊ฒ์ ๋ด ์๋ช ์ ๊ตฌํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
removeContainer : false๋ฅผ ์ถ๊ฐํด ๋ณด์์ง๋ง ๋ฌธ์ ๊ฐ ์ฌ์ ํ ๋ชจ๋ฐ์ผ Chrome์ ์กด์ฌํฉ๋๋ค.