Html2canvas: ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ๋ฌธ์ œ

์— ๋งŒ๋“  2013๋…„ 09์›” 04์ผ  ยท  56์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: niklasvh/html2canvas

์•ˆ๋…•, ์–˜๋“ค์•„!

์ž‘์—…์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค. h2c๋Š” ๋ฉ‹์ง„ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค!
ํŽ˜์ด์ง€์— ํ•˜๋‚˜์˜ ์ž‘์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. http://king.fi/site/ - ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€
body { ... background: #070707 url(../img/bg.jpg) ๋ฐ˜๋ณต ์—†์Œ 50% 0;
๋ Œ๋”๋งํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. h2c์˜ ๊ฐ„๋‹จํ•œ ํ˜ธ์ถœ:

html2canvas($('body'), {
            allowTaint: false,
            logging:true,
            onrendered: function (canvas) {
                document.body.appendChild(canvas);
            }
        });

ํ…Œ์ŠคํŠธ ์ฝ˜์†” http://html2canvas.hertzen.com/screenshots.html ์—์„œ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

์›๋ž˜์˜:
screen shot 2013-09-04 at 5 33 03 pm

๋ Œ๋”๋ง:
screen shot 2013-09-04 at 5 33 11 pm

HTML2์บ”๋ฒ„์Šค: 0.4.0
๋งฅOS 10.6 ํฌ๋กฌ 29.0.1547.62

๊ฐ์‚ฌ ํ•ด์š”!

Needs More Information

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

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋งํ•  ์ˆ˜ ์—†๊ณ  ๋ฐฐ๊ฒฝ ํฌ๊ธฐ๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฏ€๋กœ 0.4.1 ๋ฒ„์ „์—์„œ 350ํ–‰์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

topPos = isNaN(parseInt(bgposition[1], 10)) ? topPos : parseInt(bgposition[1], 10);

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

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

0.4.1๋กœ ์ˆ˜์ •๋œ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค(๊ฐœ๋ฐœ ๋ถ„๊ธฐ์—์„œ). ์•„๋งˆ๋„ #256๊ณผ ๊ด€๋ จ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

0.4.1๋กœ ์‹œ๋„ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ์—ฌ์ „ํžˆ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š”. ๋‚˜๋Š” ์ •ํ™•ํžˆ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ๋ฌธ์ œ๋Š” 0.4.1์— ์—ฌ์ „ํžˆ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋„์›€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค... ์•„์ง ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์—†๋‚˜์š”? ์ด ๋†€๋ผ์šด ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•ด Niklas์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด ์ฝ”๋“œ๋Š” ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
div class="mc-image " title="" style="background- image:url ('http://eterni-t.design.s3.amazonaws.com/381/theme-154-original-1.jpg' ), ๋„ˆ๋น„: 1025ํ”ฝ์…€, ๋†’์ด: 780ํ”ฝ์…€, Z-์ƒ‰์ธ: 9999"

background-size: cover๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์•Œ์•„์ฐจ๋ ธ์Šต๋‹ˆ๋‹ค. ๋‚ด class="mc-image"์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

@ymorin007 Mac๊ณผ Chrome/Opera/Safari๋ฅผ ์‚ฌ์šฉ ์ค‘์ด๊ฑฐ๋‚˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๊นŒ(์˜ˆ: ์ง์ ‘ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ)?

Windows7 ํฌ๋กฌ ๋ฒ„์ „ 30.0.1599.101m

์ž„์‹œ ์ˆ˜์ •:

์ค„ 2818์„ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝ

ctx.fillStyle = (options.background !== undefined) ? options.background : parsedData.backgroundColor;

์ด๋Š” ๋ฐฐ๊ฒฝ ํฌ๊ธฐ์˜ ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ธ ํฌํ•จ ๋˜๋Š” ๋ฎ๊ฐœ์™€ ํ™•์‹คํžˆ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์ปค๋ฐ‹(html2canvas 0.4.1)์ด ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ๊ฒƒ์€ ์ตœ์‹  ์ปค๋ฐ‹ ํ›„์—๋„ ์—ฌ์ „ํžˆ ์ด๊ฒƒ์„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ...

๋‚ด ๋ฐฐ๊ฒฝ ํฌ๊ธฐ๋Š” '์ปค๋ฒ„'๋กœ ์„ค์ •๋˜์–ด ์žˆ๊ณ  '์ž๋™ 100%'๋„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ํฐ์ƒ‰/ํˆฌ๋ช…ํ•ฉ๋‹ˆ๋‹ค.

background-size๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์ž˜ ์บก์ฒ˜๋ฉ๋‹ˆ๋‹ค... ๋” ๋งŽ์€ ํŒ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ž„์‹œ ์ˆ˜์ •, ์‚ฌ์šฉ:

b ๋ฐฐ๊ฒฝ :URL ("...base64...")

๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”

๋˜ํ•œ html2canvas๊ฐ€ ์ด๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋Š” ๊ฒƒ ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— "์Šคํ”„๋ผ์ดํŠธ"๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

url์— ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐฐ๊ฒฝ์— ๋Œ€ํ•œ ์ƒ๋Œ€ ๊ฒฝ๋กœ๊ฐ€ ํฌํ•จ๋œ ๊ฒฝ์šฐ backgound ์ด๋ฏธ์ง€์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. url("../i/alerts-16x.png")

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ png๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. url("i/alerts-16x.png")

๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋งํ•  ์ˆ˜ ์—†๊ณ  ๋ฐฐ๊ฒฝ ํฌ๊ธฐ๋ฅผ ํฌํ•จํ•˜๊ฑฐ๋‚˜ ํฌํ•จํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋ฏ€๋กœ 0.4.1 ๋ฒ„์ „์—์„œ 350ํ–‰์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.

topPos = isNaN(parseInt(bgposition[1], 10)) ? topPos : parseInt(bgposition[1], 10);

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค!

๋ฒ„์ „ 0.4.1์„ ์‚ฌ์šฉ ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฐฐ๊ฒฝ์—๋„ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

fperich๊ฐ€ ์ œ์•ˆํ•œ๋Œ€๋กœ ๋ผ์ด๋ธŒ 350์„ ๋ณ€๊ฒฝํ–ˆ์ง€๋งŒ ๋„์›€์ด๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ hernan์ด ๊ถŒ์žฅํ•˜๋Š” base64 ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋„ ๊ธฐ์จ์ด ์—†์Šต๋‹ˆ๋‹ค.

๋ณ€ํ™˜ํ•˜๋ ค๋Š” URL์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
http://prompter.rareapps.org/prompt/prompt-save3.php?p=123

์—ฌ๊ธฐ์—์„œ ์›น ํŽ˜์ด์ง€ ๋ Œ๋”๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ๊ฒฝ์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค.
http://html2canvas.hertzen.com/screenshots.html

๊ทธ๋Ÿฌ๋‚˜ ๋‚ด ํŽ˜์ด์ง€์—๋Š” ๋ฐฐ๊ฒฝ์ด ์—†์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ƒ˜ํ”Œ ๋ณด๊ธฐ
http://prompter.rareapps.org/prompt/prompt-save3.php?p=123

๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋Š” ์ด๊ฒƒ์ž…๋‹ˆ๋‹ค

<script type="text/javascript">
$(window).load(function() {
    html2canvas(document.body, {
        onrendered: function(canvas) {
        window.location.href = canvas.toDataURL('image/jpeg');
    },
    allowTaint: true,
    taintTest: false
    });
});
</script>

๊ธฐ๋ณธ์ ์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๊ณ  ์ด๋ฏธ์ง€๋กœ ๋ณ€ํ™˜ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด ์ฝ”๋“œ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ์‚ฌ ํ•ด์š”

fperich ์œ  ๋ก๋งจ !! ๊ฐ์‚ฌ ํ•ด์š”

๋‘ ๋ฒˆ์งธ๋กœ, fperich, ๋‹น์‹ ์€ ์ง€๊ธˆ ๋‚ด๊ฐ€ ๊ฐ€์žฅ ์ข‹์•„ํ•˜๋Š” ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค!

fperich ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :D ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค

@shauchenka @niklasvh ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ ๋˜์—ˆ๋‹ค๊ณ  ๋ง์”€ ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•  ์ˆ˜/์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

0.4.1(์ตœ์‹  ๋ฆด๋ฆฌ์Šค ๋ฐ ๊ฐœ๋ฐœ์ž ๋ชจ๋‘)์„ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์†Œํ•œ Windows์šฉ Chrome์—์„œ ๋‚ด ์ž์‹ ์š”์†Œ์˜ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€(์ž์‹์€ ์Šคํ”„๋ผ์ดํŠธ์ž„)๊ฐ€ ์บ”๋ฒ„์Šค์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Windows์šฉ Firefox๋Š” ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. Mac์šฉ Chrome์—์„œ๋Š” ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ์žˆ๋Š” ๋ฒ”์œ„์— ๊ฒ€์€์ƒ‰ ์‚ฌ๊ฐํ˜•์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. fperich ์ˆ˜์ •์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋Š” ๋™์ผํ•œ ์ถœ์ฒ˜์— ์žˆ๊ณ  ๋ชจ๋“  ํŒŒ์ผ์€ ์„œ๋ฒ„์˜ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค.

@4gstudios ๋ฌธ์ œ๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด jsfiddle(๋˜๋Š” ๊ณต๊ฐœ์ ์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๋งํฌ)์— ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@usmonster ํ™•์‹คํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๊ฐ€ ์™ธ๋ถ€์— ์žˆ๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— jsfiddle์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ๊ต์ฐจ ์ถœ์ฒ˜ ๋ฌธ์ œ๋ฅผ ๋ฐฐ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋ฌด์—‡์„ ์ถ”์ธกํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ์ค€๋น„ํ•˜๋Š” ๋™์•ˆ ๋ฌธ์ œ๊ฐ€ ๋‚ด ์Šคํ”„๋ผ์ดํŠธ์— ์‚ฌ์šฉํ•˜๋ ค๋Š” png์— ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์•„๋‹๊นŒ ์ƒ๊ฐํ–ˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” png ํฌ๊ธฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋” ๋ณต์žกํ•œ png๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ž‘์€ ์ฐจ์›์—์„œ ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์— png์— ํฌํ•จ๋œ ์ •๋ณด์˜ ์–‘๊ณผ ๊ด€๋ จ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” tinypng.com์„ ํ†ตํ•ด png ์ตœ์ ํ™”๋ฅผ ์•ฝ๊ฐ„ ์—‰๋ง์œผ๋กœ ๋งŒ๋“ค์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋“œ์‹œ ํŒŒ์ผ ํฌ๊ธฐ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋” ์ž‘์€ ํŒŒ์ผ ํฌ๊ธฐ์˜ ๋” ํฐ ์น˜์ˆ˜ ์ด๋ฏธ์ง€์—๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ฐ˜๋ฉด ๋” ํฐ ํŒŒ์ผ์˜ ๋” ์ž‘์€ ์น˜์ˆ˜ ์ด๋ฏธ์ง€์—๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค ์‚ฌ์ด์ฆˆ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

๋‚ด ์˜ˆ๋ฅผ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค: http://4gstudios.com/html2canvas/

ํŒŒ๋ž€์ƒ‰ ์ƒ์ž๊ฐ€ ์ž˜ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค(bg ์ด๋ฏธ์ง€๋Š” 100x7800ํ”ฝ์…€/374kb).
๋นจ๊ฐ„์ƒ‰ ์ƒ์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Œ(bg ์ด๋ฏธ์ง€๋Š” 100x25000ํ”ฝ์…€/254kb)
-OS X ํฌ๋กฌ(๋ธ”๋ž™๋ฐ•์Šค)
-OS X Safari("์•„๋‹ˆ์˜ค" ์ƒ์ž)
-๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ Win Chrome(์–ด์ œ ๋ฐœ์ƒํ–ˆ์ง€๋งŒ PC ATM ๊ทผ์ฒ˜์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ)
-OS X Firefox๋Š” ์ž˜ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ์„ ์ž˜ ์„ค๋ช…ํ•˜๊ณ  ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋‚ด ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋ ค๋Š” ์Šคํ”„๋ผ์ดํŠธ์—๋Š” 800๊ฐ€์ง€๊ฐ€ ๋„˜๋Š” ๋‹ค์–‘ํ•œ CSS ๊ทœ์น™์ด ์žˆ์œผ๋ฉฐ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

ํŽธ์ง‘ : ๋‚ด ์˜ˆ์ œ๋Š” 0.4.1์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ 0.5.0rc1์„ ์‹œ๋„ํ–ˆ์„ ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” OS X๊ฐ€ ์—†์ง€๋งŒ Windows(Vista)์˜ Chrome 37 ๋ฐ Linux(Debian wheezy)์˜ Chrome 38 ๋ฒ ํƒ€์—์„œ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฒ„์ „์˜ Chrome์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋ชจ๋“  ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋ˆ ์ƒํƒœ์—์„œ ์‹œํฌ๋ฆฟ ๋ชจ๋“œ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ๋„ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

@usmonster ๋ฐฉ๊ธˆ Chrome 36(Win7)์—์„œ ์‹œ๋„ํ•œ ๋‹ค์Œ Chrome 37(Win7)๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

@4gstudios ๋กœ๊น…์„ ์ผœ๋ฉด ๋ธŒ๋ผ์šฐ์ € ์ฝ˜์†”์—์„œ ๋ฌด์—‡์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋˜ํ•œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋”๋ผ๋„ ํ˜„์žฌ ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜์— ์žˆ๋Š” ๊ฒƒ๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ์‚ฌ์ดํŠธ์˜ ์˜ˆ์ œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์‹ญ์‹œ์˜ค. ๋””๋ฒ„๊น…์— ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์…‹์งธ, ๋ชจ๋“  ํฌ๋กฌ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ๋น„ํ™œ์„ฑํ™” ์‹œ์ผœ๋„ ์ด ๋ฌธ์ œ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ํ™•์ธ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. (๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋ฏธ์ง€์˜ ๋‹ค์šด๋กœ๋“œ ๋ฐ/๋˜๋Š” ๋ Œ๋”๋ง์ด ๋„ˆ๋ฌด ๋Š๋ฆฐ ๊ฒƒ์ฒ˜๋Ÿผ ํƒ€์ด๋ฐ ๋ฌธ์ œ์ธ์ง€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค.)

@usmonster

1) ๋กœ๊น…์ด ์ผœ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค....
html2canvas: ์‚ฌ์ „ ๋กœ๋“œ ์‹œ์ž‘: ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ์ฐพ๊ธฐ html2canvas.js:21
html2canvas: ์‚ฌ์ „ ๋กœ๋“œ: ์ด๋ฏธ์ง€ ์ฐพ๊ธฐ html2canvas.js:21
html2canvas: ๋ฏธ๋ฆฌ ๋กœ๋“œ: ์™„๋ฃŒ. html2canvas.js:21
html2canvas: ์‹œ์ž‘: ์ด๋ฏธ์ง€: 1 / 2 (์‹คํŒจ: 0) html2canvas.js:21
html2canvas: ์‹œ์ž‘: ์ด๋ฏธ์ง€: 2 / 2 (์‹คํŒจ: 0) html2canvas.js:21
์ด๋ฏธ์ง€ ๋กœ๋“œ ์™„๋ฃŒ: # 2 (์‹คํŒจ: 0) html2canvas.js:21
html2canvas: ๋ Œ๋”๋Ÿฌ: ์บ”๋ฒ„์Šค ๋ Œ๋”๋Ÿฌ ์™„๋ฃŒ - ์บ”๋ฒ„์Šค ๋ฐ˜ํ™˜ obj html2canvas.js:21

2) ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜ html2canvas.js๋กœ ์—…๋ฐ์ดํŠธ

3) ๋„ค, ๋ชจ๋‘ ์žฅ์• ์ธ์œผ๋กœ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ด๋ฐ์ด๋ผ๋ฉด ๋‹ค์šด๋กœ๋“œ ์‹œ๊ธฐ๊ฐ€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์ง€๋งŒ ๋ Œ๋”๋ง์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

@4gstudios ํ…Œ์ŠคํŠธํ•  ๋‹ค๋ฅธ โ€‹โ€‹์ปดํ“จํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋˜ํ•œ ๋ผ์ด๋ธŒ ๋งํฌ๋Š” ์—ฌ์ „ํžˆ 0.4.1์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

@usmonster ์˜ค, ๋‚ด ์ž˜๋ชป, ๋‚ด๊ฐ€

ํ , ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํ“จํ„ฐ ์ค‘ ํ•˜๋‚˜์—์„œ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์ง€๋งŒ ๋™๋ฃŒ๋Š” Windows 7 ์ปดํ“จํ„ฐ์—์„œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. @niklasvh , @brcontainer ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ํ”Œ๋žซํผ๋ณ„ GPU ๊ฐ€์† ํ•ฉ์„ฑ/๋ž˜์Šคํ„ฐํ™”์™€ ๊ด€๋ จ์ด ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ.. ์ด๋ฒˆ ์ฃผ ํ›„๋ฐ˜์— W7 ์ปดํ“จํ„ฐ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ด์•ผ ๊ฒ ์ง€๋งŒ, ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค... @4gstudios , ๋‘ ๋ฒˆ์งธ ์ด๋ฏธ์ง€๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค๊ณ  ๋‹ค์‹œ ํ…Œ์ŠคํŠธํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๋ฒ„๊ทธ๊ฐ€ ์‚ฌ๋ผ์งˆ ๋•Œ๊นŒ์ง€ ๊ณ„์† ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ด๊ณ  CSS ๊ทœ์น™์„ ์กฐ์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์ด ๋ฌธ์ œ๋ฅผ ์œ ๋ฐœํ•˜๋Š” PNG์˜ "ํฅ๋ฏธ๋กœ์šด" ์˜์—ญ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

@usmonster Chrome์ด ์„ค์น˜๋œ Windows 7 x64์—์„œ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. DEBUG๋ฅผ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
windows7x64์—์„œ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ ๋ฒ„์ „ 32์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋ฐ, ํฌ๋กฌ์˜ ๋ฒ„๊ทธ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ์›๋ณธ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ํฐ ์ด๋ฏธ์ง€๋‚˜ ํฐ ์บ”๋ฒ„์Šค๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ์—๋Š” ๋‹ค์–‘ํ•œ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‚ด๊ฐ€ ์•„๋Š” ํ•œ ์ด์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐ์ง€ํ•˜๋Š” ํ˜„๋ช…ํ•œ ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค.

์†Œ์Šค ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ์™€ ์ง์ ‘์ ์ธ ๊ด€๋ จ์€ ์—†์ง€๋งŒ ๋‹ค์–‘ํ•œ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํฐ ์ด๋ฏธ์ง€ ๋ฐ ์บ”๋ฒ„์Šค ๋ฌธ์ œ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €/OS/๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์— ๋Œ€ํ•ด ์ตœ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๊ธฐ์™€ ์บ”๋ฒ„์Šค ํฌ๊ธฐ์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์„ค์ •ํ•ด์•ผ ์‹ค์ œ๋กœ ์ œํ•œ์ด ์žˆ๋Š” ์œ„์น˜์™€ ์ œํ•œ์„ ์–ด๋–ป๊ฒŒ๋“  ์šฐํšŒํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€(์˜ˆ: ๋ Œ๋”๋ง์„ ๋” ์ž‘์€ ์ฒญํฌ๋กœ ๋ถ„ํ• )๋ฅผ ๋ณด๋‹ค ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. .

@4gstudios @brcontainer ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์žฅ์น˜์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@niklasvh

  • ์œˆ๋„์šฐ 7 ํ™ˆ ํ”„๋ฆฌ๋ฏธ์—„ x64
  • ์ธํ…” ์ฝ”์–ด i5 CPU M450 2.40Ghz
  • 4GB RAM

Windows 32๋น„ํŠธ์—์„œ ํ…Œ์ŠคํŠธ(๊ฐ€๋Šฅํ•œ ํ•œ) ํ•˜๊ฒ ์ง€๋งŒ ๋ฌธ์ œ๋Š” Windows 64๋น„ํŠธ์—์„œ๋งŒ ๋ฐœ์ƒํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๊ฐ€ ์˜์‹ฌํ•œ๋Œ€๋กœ ๋ฌธ์ œ๋Š” "Windows x64"์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๋ฉฐ https://github.com/niklasvh/html2canvas/issues/206#issuecomment -17744888, ์ฆ‰ Windows 32๋น„ํŠธ์—์„œ๋Š” ์ž‘๋™ํ•˜๊ณ  Windows 64๋น„ํŠธ์—์„œ๋Š” ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. , ํ•˜๋‚˜์˜ ๊ฐ€๋Šฅํ•œ ๋ฒ„๊ทธ Chrome.

@brcontainer ๋ฌธ์ œ๋Š” OS X 10.7์˜ Chrome ๋ฐ Safari์—์„œ๋„ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค...

๋˜ํ•œ 32๋น„ํŠธ Windows 7 ์ปดํ“จํ„ฐ์—์„œ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค(๋ฒ„๊ทธ ์—†์Œ). ์ด๊ฒƒ์€ ํ™•์‹คํžˆ 64๋น„ํŠธ ์‹œ์Šคํ…œ๋งŒ์˜ ๋ฌธ์ œ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ์ข‹์€ ์บ์น˜, @brcontainer! ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋˜ ๋‹ค๋ฅธ ์‚ฌํ•ญ์€ 64๋น„ํŠธ ์‹œ์Šคํ…œ์„ ์œ„ํ•œ Chrome์˜ ์ƒˆ ๋ฒ„์ „์ด ๋งค์šฐ ์ตœ๊ทผ์— ์ถœ์‹œ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

http://blog.chromium.org/2014/08/64-bits-of-awesome-64-bit-windows_26.html
https://www.google.com/chrome/browser/?platform=win64(Windows ๋‹ค์šด๋กœ๋“œ ๋งํฌ)
http://blog.chromium.org/2014/08/mac-chrome-when-im-sixty-four-bits.html(Mac ์€ ์•„์ง ๋ฒ ํƒ€ ๋ฒ„์ „์ž„)

์ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ์‚ฌ๋žŒ๋“ค์˜ ๊ฒฝ์šฐ ์•„์ง 32๋น„ํŠธ ๋ฒ„์ „์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๊นŒ? ๋‹ค์šด๋กœ๋“œํ•˜๋ ค๋ฉด 64๋น„ํŠธ ๋ฒ„์ „์„ ์ˆ˜๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

@usmonster ๊ธ€์Ž„ ๋‚ด Windows7์€ 64๋น„ํŠธ์ž…๋‹ˆ๋‹ค. ์ด ๋ฒ„๊ทธ๋Š” Win7 64๋น„ํŠธ์˜ 32๋น„ํŠธ ๋ฐ 64๋น„ํŠธ Chrome ๋ชจ๋‘์— ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. ์ผ๋ถ€ OSX ์‹œ์Šคํ…œ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋Š” ์•Š์ง€๋งŒ 64๋น„ํŠธ ๋ฒ„์ „์˜ Chrome์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋งํฌ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ "Windows 64bit"(๋˜๋Š” Mac OSX)์™€์˜ ๋น„ํ˜ธํ™˜์„ฑ์ด ์•„๋‹ˆ๋ผ Chrome์˜ ๋ฒ„๊ทธ์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

@brcontainer 64๋น„ํŠธ Windows ๋ฐ Mac์—์„œ Chrome ๋ฐ WebKit ๋ธŒ๋ผ์šฐ์ €์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค(Linux๊ฐ€ ์•„๋‹Œ .. ์ ์–ด๋„ ๋‚ด 64๋น„ํŠธ Debian ์ƒ์ž w/ 8GB RAM์—์„œ๋Š” ์•„๋‹˜). @4gstudios ๋Š” 32๋น„ํŠธ Windows์—์„œ ๋ฒ„๊ทธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ปดํ“จํ„ฐ์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ RAM์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋ฅผ ๊ทผ๋ณธ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ PNG์—๋Š” ์ฒซ ๋ฒˆ์งธ PNG๋ณด๋‹ค ๊ทธ๋ผ๋””์–ธํŠธ์™€ ํ›จ์”ฌ ๋” ํฐ ์น˜์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธํ•  ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์‹œ์Šคํ…œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํŠน์ • ๋ฌธ์ œ ์˜์—ญ์ด๋‚˜ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ํฌ๊ธฐ๊ฐ€ ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ "๋‚˜์œ" PNG๋ฅผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. (์•„๋งˆ๋„ @niklasvh์—๊ฒŒ๋„ ๊ด€์‹ฌ์ด

@instiz @instiz

AppleWebkit(๋ฒ„์ „ 538.1) ๋ฐ "Safari 5.1.7"(๋ฒ„์ „ 534.57.2 - ์ด ๋ธŒ๋ผ์šฐ์ €๋Š” ๋” ์ด์ƒ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์ง€ ์•Š์Œ)์—์„œ Windows .then (๋ฐœํ™”/ํŠธ๋ฆฌ๊ฑฐ ์•„๋‹˜)๊ฐ€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ "Webkit"์˜ ์‹คํŒจ์ธ์ง€ "Blink"(Chrome์˜ Webkit ์—”์ง„ ํฌํฌ) ์‹คํŒจ์ธ์ง€, ์•„๋‹ˆ๋ฉด "RAM" ๋ถ€์กฑ์œผ๋กœ ์ธํ•œ ์‹คํŒจ์ธ์ง€ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

@brcontainer @4gstudios ์— ๋”ฐ๋ฅด๋ฉด ๋ฒ„๊ทธ๋Š” OS X์˜ Safari์™€ Chrome ๋ชจ๋‘์—์„œ ์žฌํ˜„ ๊ฐ€๋Šฅํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ ์–ด๋„ Blink์™€ WebKit ์—”์ง„ ๋ชจ๋‘์— ๊ณตํ†ต์ ์ธ ๋ฒ„๊ทธ๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

@usmonster .then(...) ๊ฐ€ AppleWebkit(๋ฒ„์ „ 538.1)์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ฐฝ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@usmonster ๋‚˜๋Š” ๋‚ด ์˜ˆ์ œ๋ฅผ ๋งŒ๋“œ๋Š” ๋™์•ˆ ์ผ์ข…์˜

@usmonster , @brcontainer , @niklasvh , ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋ชจ๋“  ๋„์›€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค

@niklasvh onrendered๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋Œ€์‹  ๋ฌด์—‡์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? 0.5.0-alpha1์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ์ด๋ฏธ์ง€๊ฐ€ ๋™์ผํ•œ ๋„๋ฉ”์ธ์— ์žˆ์–ด๋„ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๊ฐ€ ๋‹ค์šด๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

html2canvas($("#foredownload ํ…Œ์ด๋ธ”"), {
๋กœ๊น… : ์‚ฌ์‹ค,
๋ Œ๋”๋ง: function(c) {
var myImage = c.toDataURL("์ด๋ฏธ์ง€/jpeg");
$('#downloadableImage').prop('href', myImage);
}
});
๋„์›€์„ ์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค fperich ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค !!

@fperich
๋งŽ์ด ๋„์™€์ฃผ์„ธ์š”! ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๋‚˜๋Š” ์–ผ๊ตด์ด ์ž˜๋ฆฐ ๋ชธ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€์˜€๋‹ค
(์ž‘์€ bounds.height from NodeContainer.prototype.parseBackgroundSize - html2canvas 0.5.0-beta3 ) ๋‚ด

body {
    background-image: url(./res/bg.jpeg);
    background-repeat:no-repeat;
    background-position:center center;
    -o-background-size: cover;
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
}

ํ•ด๊ฒฐ ์ถ”๊ฐ€

html, body {
   margin: 0;
   padding: 0;
   height: 100%;
}

์ด ๋ฉ‹์ง„ ์ฝ”๋“œ ์กฐ๊ฐ์— ๋Œ€ํ•ด niklasvh์™€ ๋ชจ๋“  ๊ธฐ์—ฌ์ž์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๋‚˜๋Š” ๋˜ํ•œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์บ”๋ฒ„์Šค์— ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” s3 ์ด๋ฏธ์ง€์—์„œ ๋กœ๋“œํ•˜๊ณ  ์žˆ์ง€๋งŒ ์‹œ์Šคํ…œ์—์„œ ๋กœ์ปฌ๋กœ ๋กœ๋“œ ์ค‘์ž…๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?
screenshot_34
screenshot_35

๋‚˜๋„ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
border-image-issue
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค . ๋ฐฐ๊ฒฝ ๋กœ๋“œ ์ค‘ ์˜ค๋ฅ˜:

here is my console error

์—ฌ๊ธฐ์— jsFiddle

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋„๋ก ๋„์™€์ฃผ์„ธ์š”.
๊ฐ์‚ฌ ํ•ด์š”,

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

corse ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

html2canvas(document.body, {
            onrendered: function (canvas) {
.....
            },
            useCORS: true
        });

@fxmontigny.
์—ฌ์ „ํžˆ ํ…Œ๋‘๋ฆฌ ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์—…๋ฐ์ดํŠธ๋œ JSFiddle์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.
๊ฒ€์€ ์ƒ‰ ํ…Œ๋‘๋ฆฌ๋งŒ ํ‘œ์‹œํ•˜๋Š” ํ…Œ๋‘๋ฆฌ ์ด๋ฏธ์ง€๊ฐ€ ๋กœ๋“œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
2017-08-23_0317

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ํฌ๋กฌ ์ฝ˜์†”์˜ ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
html2canvas: ์‚ฌ์ „ ๋กœ๋“œ ์‹œ์ž‘: ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€ ์ฐพ๊ธฐ
html2canvas.js:21 html2canvas: ์‹œ์ž‘: ์ด๋ฏธ์ง€: 1 / 1 (์‹คํŒจ: 0)
html2canvas.js:21 html2canvas: ์‹œ์ž‘: ์ด๋ฏธ์ง€: 2 / 2 (์‹คํŒจ: 0)
html2canvas.js:21 html2canvas: ๋ฏธ๋ฆฌ ๋กœ๋“œ: ์ด๋ฏธ์ง€ ์ฐพ๊ธฐ
html2canvas.js:21 html2canvas: ์‚ฌ์ „ ๋กœ๋“œ: ์™„๋ฃŒ.
html2canvas.js:21 html2canvas: ์‹œ์ž‘: ์ด๋ฏธ์ง€: 2 / 2 (์‹คํŒจ: 0)
html2canvas.js:21 ์ด๋ฏธ์ง€ ๋กœ๋“œ ์™„๋ฃŒ: # 2 (์‹คํŒจ: 0)
html2canvas.js:21 html2canvas: ๋ฐฐ๊ฒฝ ๋กœ๋“œ ์ค‘ ์˜ค๋ฅ˜:
html2canvas.js:21 html2canvas: ๋ Œ๋”๋Ÿฌ: ์บ”๋ฒ„์Šค ๋ Œ๋”๋Ÿฌ ์™„๋ฃŒ - ์บ”๋ฒ„์Šค obj ๋ฐ˜ํ™˜

์ด๊ฒƒ์€ ์—ฌ์ „ํžˆ v1.0.0 ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๊นŒ? ๊ทธ๋ ‡๋‹ค๋ฉด jsfiddle์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ

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

๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋Œ“๊ธ€๋งŒ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.
๋‚ด ๋ฌธ์ œ๋Š” ๋กœ์ปฌ์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ–ˆ์ง€๋งŒ ํ”„๋กœ๋•์…˜์—์„œ๋Š” CSS ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ์‹คํŒจํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
๊ทธ ์ด์œ ๋Š” ์šฐ๋ฆฌ๊ฐ€ CloudFront๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฆ‰, css ํŒŒ์ผ์˜ URL์€ cloudfront ๋„๋ฉ”์ธ์˜ ์ž์‚ฐ์„ ์ฐธ์กฐํ•˜๋Š” ๋ฐ˜๋ฉด JS๋Š” ๋ณ„๋„์˜ ๋„๋ฉ”์ธ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ html2canvas ๋กœ๊ทธ๋Š” ๊ทธ๊ฒƒ์ด cors ๋ฌธ์ œ์ž„์„ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
'useCORS'๋Š” ํ”„๋ก์‹œ URL ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ž์ฒด์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

@jacobclarke ๋˜ํ•œ html2canvas๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ์ปฌ S3 ์ด๋ฏธ์ง€์˜ ์บ”๋ฒ„์Šค์— ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ํ•  ๋•Œ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ์บก์ฒ˜๋˜๊ณ  ์žˆ์ง€๋งŒ ํ”„๋กœ๋•์…˜์—์„œ๋Š” ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง€๋ฅผ ์บก์ฒ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚ด html2canvas ๋ฒ„์ „์€ v1.0.0์ž…๋‹ˆ๋‹ค.

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