Html2canvas: ๋ถˆํˆฌ๋ช…

์— ๋งŒ๋“  2015๋…„ 11์›” 05์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: niklasvh/html2canvas

์•ˆ๋…•ํ•˜์„ธ์š”,

์›น ํŽ˜์ด์ง€์—์„œ ์บ”๋ฒ„์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผํ•˜๊ณ  ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ๊ฐ ์š”์†Œ์˜ ๋ถˆํˆฌ๋ช…๋„๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๋งํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ์ˆœ๊ฐ„์—๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š”

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ๋˜ํ•œ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

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

๋ถˆํˆฌ๋ช…๋„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. jsfiddle์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ œ๋ฅผ ๋„ฃ์œผ์‹ญ์‹œ์˜ค.

๋‚˜๋Š” ๋ถˆํˆฌ๋ช…๋„๋ฅผ ์ž‘๋™ ์‹œํ‚ค๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ๊ทธ๊ฒƒ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

div์— ์ด๋ฏธ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. div์—๋Š” ์ธ๋ผ์ธ CSS opacity: 0.78; ์žˆ์ง€๋งŒ ์Šคํฌ๋ฆฐ ์ƒท์—์„œ๋Š” 100 % ๋ถˆํˆฌ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

@Dayjo ๋ธŒ๋ผ์šฐ์ €? OS? x86 ๋˜๋Š” x64? jsfiddle ์˜ˆ์ œ๋ฅผ ๋„ฃ์œผ์‹ญ์‹œ์˜ค =)

OSX 10.11.4
Firefox 44.0.2
ํฌ๋กฌ 49.0.2623.112

ํŽธ์ง‘ : OK ๊ทธ๋ž˜์„œ img ํƒœ๊ทธ์— ์ถ”๊ฐ€ CSS๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐ ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ช…์‹œ ์ ์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

display: block;
position: static;

๊ทธ๋ฆฌ๊ณ  ์ด์ œ ์ด๋ฏธ์ง€๋Š” ๋ถˆํˆฌ๋ช…๋„๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ ๋ธ”๋ก์ด ํ•„์š”ํ•œ ์ด์œ ๋Š” ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ position : relative๋Š” ์‹ค์ œ๋กœ ์ž‘๋™์„ ์ค‘์ง€ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. position : relative ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์š”์†Œ (์˜ˆ

๋‹ค์Œ์€ ๋ฌธ์ œ๋ฅผ ์˜ˆ์‹œํ•˜๋Š” jsFiddle์ž…๋‹ˆ๋‹ค : http://jsfiddle.net/tqqaa16x/. ๋‚˜๋Š” ์ด๊ฒƒ์œผ๋กœ๋„ ์–ด๋ ค์›€์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ถˆํˆฌ๋ช…๋„๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์˜ˆ์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.
https://jsfiddle.net/JoolsCaesar/yLj4qwe2/3/
https://jsfiddle.net/JoolsCaesar/yLj4qwe2/5/
(Chrome์—์„œ ํ…Œ์ŠคํŠธ ๋จ)

https://github.com/niklasvh/html2canvas/tree/v1.0.0 ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@niklasvh ๋ฒ„์ „ 1.0.0-alpha.12๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ์„œ๋ฆฌ๊ฐ€ ๋‘ฅ๊ทผ div๊ฐ€ ์žˆ์ง€๋งŒ ์›น ์‚ฌ์ดํŠธ ๋ฐฐ๊ฒฝ์€ ์–ด๋‘ก์ง€ ๋งŒ ์ €์žฅ๋œ ์ด๋ฏธ์ง€์—๋Š” ํˆฌ๋ช…ํ•ด์•ผ ํ•  ๋•Œ ํฐ์ƒ‰ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ:
html2canvas_error

์ด๊ฒƒ์€ ๋˜ํ•œ ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

@andy

@niklasvh ๋ฒ„์ „ 1.0.0-alpha.12๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ชจ์„œ๋ฆฌ๊ฐ€ ๋‘ฅ๊ทผ div๊ฐ€ ์žˆ์ง€๋งŒ ์›น ์‚ฌ์ดํŠธ ๋ฐฐ๊ฒฝ์€ ์–ด๋‘ก์ง€ ๋งŒ ์ €์žฅ๋œ ์ด๋ฏธ์ง€์—๋Š” ํˆฌ๋ช…ํ•ด์•ผ ํ•  ๋•Œ ํฐ์ƒ‰ ๋ชจ์„œ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ:
html2canvas_error

๋ฐฐ๊ฒฝ์ƒ‰์„ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค : rgba (x, x, x, opacityValue) ๋ถˆํˆฌ๋ช…๋„ CSS ์Šคํƒ€์ผ๋กœ ๊ต์ฒดํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

https://github.com/niklasvh/html2canvas/tree/v1.0.0 ์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋งํฌ๋Š” ์ง€๊ธˆ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

์ตœ์‹  ๋ฆด๋ฆฌ์Šค ์ธ 1.0.0-rc.7์—์„œ ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“์„ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ตœ์‹  ๋ฆด๋ฆฌ์Šค ์ธ 1.0.0-rc.7์—์„œ ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“์„ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ด ๋ฒ„์ „ ์‚ฌ์šฉ : https://github.com/niklasvh/html2canvas/suites/1187063696/artifacts/17429870 , Opacity๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ๋ฆด๋ฆฌ์Šค ์ธ 1.0.0-rc.7์—์„œ ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“์„ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ด ๋ฒ„์ „ ์‚ฌ์šฉ : https://github.com/niklasvh/html2canvas/suites/1187063696/artifacts/17429870 , Opacity๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์ €๋ฅผ ์—ฐ๊ฒฐ์‹œํ‚จ ๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์—ด์–ด ๋ณด๋‹ˆ v1.0.0-rc.7 ...

์ตœ์‹  ๋ฆด๋ฆฌ์Šค ์ธ 1.0.0-rc.7์—์„œ ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“์„ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ด ๋ฒ„์ „ ์‚ฌ์šฉ : https://github.com/niklasvh/html2canvas/suites/1187063696/artifacts/17429870 , Opacity๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์ €๋ฅผ ์—ฐ๊ฒฐ์‹œํ‚จ ๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์—ด์–ด ๋ณด๋‹ˆ v1.0.0-rc.7 ...

๋ฒ„์ „ ์ด๋ฆ„์€ ๋™์ผํ•˜์ง€๋งŒ์ด js ํŒŒ์ผ์—์„œ๋Š” ๋ถˆํˆฌ๋ช…๋„ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ๋ฆด๋ฆฌ์Šค ์ธ 1.0.0-rc.7์—์„œ ๋ถˆํˆฌ๋ช…๋„๊ฐ€ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ‹ฐ์ผ“์„ ๋‹ค์‹œ ์—ด ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ด ๋ฒ„์ „ ์‚ฌ์šฉ : https://github.com/niklasvh/html2canvas/suites/1187063696/artifacts/17429870 , Opacity๊ฐ€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์ €๋ฅผ ์—ฐ๊ฒฐ์‹œํ‚จ ๊ฒƒ์ด ์ •ํ™•ํžˆ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ์—ด์–ด ๋ณด๋‹ˆ v1.0.0-rc.7 ...

๋ฒ„์ „ ์ด๋ฆ„์€ ๋™์ผํ•˜์ง€๋งŒ์ด js ํŒŒ์ผ์—์„œ๋Š” ๋ถˆํˆฌ๋ช…๋„ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€์ด ์ˆ˜์ • ์‚ฌํ•ญ์˜ ํ˜œํƒ์„๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ’€ ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ๊ณ  html2canvas ์ข…์†์„ฑ์— ๋Œ€ํ•ด yarn (๋˜๋Š” npm)์„ ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@niklasvh ๋ฐฉ๊ธˆ ํ”„๋กœ์ ํŠธ์—์„œ html2canvas๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๋˜ํ•œ์ด ๋ถˆํˆฌ๋ช…๋„ ๋ฒ„๊ทธ๋ฅผ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค-์œ„์˜ ๋ฒˆ๋“ค ์ด์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๊นŒ / ๋ฆด๋ฆฌ์Šคํ•˜๊ณ  ๋ฆด๋ฆฌ์Šค ๋œ npm ํŒจํ‚ค์ง€๋ฅผ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@ davidswinegar ์ด๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ์ˆซ์ž๋Š” ๋ถˆํˆฌ๋ช…๋„์ž…๋‹ˆ๋‹ค.

background-color: rgba(25, 163, 71, .5);

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰