ããã«ã¡ã¯ãã¿ããªã
ãã€ã¢ãã°ã®ç»åãçæããå¿
èŠããããŸãã
html2canvasã䜿çšããŠããŸãããäœæããç»åã«å°å³ã衚瀺ãããŸããã
ç§ã®ã³ãŒãïŒ
function imagem()
{
var html2obj = html2canvas($('#dialogPrint'));
var queue = html2obj.parse();
var canvas = html2obj.render(queue);
var img = canvas.toDataURL();
window.open(img);
};
å©ããå¿
èŠã§ãã
ããããšã
åé¡ã¯ãã°ãŒã°ã«ããããCSS3å€æè¡åã䜿çšããŠããããšã§ããããã¯html2canvasã«å®å šã«ã¯å®è£ ãããŠããŸããã
ç§ã¯ã©ã®ããã«è¡ããŸããïŒ
Googleãããã®ç»åïŒå€éšãµãŒããŒã®ç»åïŒïŒ
ãããã·ã䜿çšããïŒ https ïŒ
brcontainerïŒéæ³ã ãšæããŸãïŒå¥ã®ã³ã³ãã¥ãŒã¿ãŒ/ proxy /ããçŽæ¥ãããã¿ã€ã«ã«ã¢ã¯ã»ã¹ããŸãïŒã å¯äžã®æ¹æ³ã¯CORSã䜿çšããããšã§ãã
@bkralikãããã·ã¯ãããããã¯ããããµã€ããã«ã¢ã¯ã»ã¹ããããã ãã®ãã®ã§ã¯ãããŸããããããã·çšèªã¯ãhtml2canvasã®ãããã·ããJavaScript APIãããŒã«ã«ãµã€ãã«ãããã®ããã«å€éšãµãŒããŒããç»åãéãããã«ããå Žåã«åããŠãå¥ã®æå³ãæã¡ãŸãã
ãããã·ã¯ããŠã³ããŒããããå€éšãµãŒããŒãäœæããhtml2canvasã¯ããŠã³ããŒããå®äºããåŸã«ã®ã¿ã€ã¡ãŒãžãããŒãããŸãã
ãã®äž»é¡ãç解ããã«ã¯ããã®http://en.wikipedia.org/wiki/Same_origin_policyããèªã¿
ãã®ãããã·ãã©ã®ããã«äœ¿çšããŸããïŒ
ãããã·ã®äœ¿çšãžã®ãã¹ãŠã®ãªã³ã¯ã䜿çšãããªã³ã¯ïŒphpèšèªãCïŒïŒasp.netïŒãpythonãVBïŒaspã¯ã©ã·ãã¯ïŒïŒã
ãããã·ãžã®ãªã³ã¯ã«æ°ä»ããŠããªããããããŸããããããã§èª¬æããŸãã
https://github.com/niklasvh/html2canvas/wiki/Proxies
æ°ããã©ã€ãã©ãªã䜿çšããå Žåã¯ãREADMEå šäœãèªãããšããå§ãããŸãã
@brcontainerç§ã¯ãã®ãããã·ãäœããããç¥ã£ãŠããŸã-ã¯ã©ã€ã¢ã³ããããŒãžã®ã¹ã¯ãªãŒã³ã·ã§ãããæ®ããããšãããµãŒããŒã¯ãã¹ãŠã®åçãããŒã«ã«ãã©ã«ãã«ããŠã³ããŒãããã¯ã©ã€ã¢ã³ãã¯ããããããŒãããŸãã ããããããã¯ééã£ãŠããŸã-ã°ãŒã°ã«ã¯åœŒãã®ã¿ã€ã«ãµãŒããŒã®çŽæ¥äœ¿çšãèš±å¯ããŠããªãã®ã§-ãããŠåœŒãã®èŠ³ç¹ããã誰ãããŠã§ãããŒãžãèŠãã«çªç¶å€§éã®ã¿ã€ã«ããµãŒããŒã«ããŠã³ããŒãããŠããŸã...
ç§ã¯Javaã䜿çšããŠããŸãã
ãããã·ã䜿çšããäŸããããŸããïŒ
@brcontainerãããŠãç§ãè¿°ã¹ãããã«ãGoogle Chromeã§å®è¡ãããŠããgooglemapsãCSS3å€æã䜿çšãããããCSS3å€æã«ã¯æ¬åœã«åé¡ããããçŸåšã®å®è£ ã§ã¯ããããã¹ã¯ãªãŒãã³ã°ã§ããŸããã ç§ãä¿¡ããŠãã ãããç§ãæžãããããžã§ã¯ãã§ãã®åé¡ããããŸãã...
@bkralikã§ã¯ãã©ãããã°ããã§ããïŒ
äŸã¯ãããŸããïŒ
ç§ãJavaã§ããã°ã©ãã³ã°ããŠããŸãïŒãã§ã«PHPãCïŒãVBã§ãããã·ãäœæããŠããŸãïŒããJavaã§ãããã·ãäœæããã®ã«éã«åãããæ¥ææ¥ã«äœæã§ãããããããŸããã
ãã®ã¢ããªã±ãŒã·ã§ã³ã¯JSPãŸãã¯ãJavaDesktopãã§ããïŒ
@brcontainerããã¯ãJSFãPrimefacesãJavascriptãããã³Javaã䜿çšããWebã¢ããªã±ãŒã·ã§ã³ã§ãã
@DanielSBelo JSFãã¬ãŒã ã¯ãŒã¯äœ¿çšããããšã¯ãããŸããããã¬ãŒã ã¯ãŒã¯ã䜿çšããã«çŽç²ãªJavaã§ããã°ã©ã ããŠããã®ã§ãJavaéšåã®ã³ãŒãã§çŸåšã®ã³ãŒããç°¡åã«å®è£ ã§ãããã©ããããããŸããã ç§ã¯åœŒãå©ãããã£ãã®ã§ãããããã¯æ¬åœã«ã¿ã€ã ãªãŒã§ã¯ãããŸããã
[ç·šé]
cssãã©ã³ã¹ãã©ãŒã ã®ãµããŒãã«ã€ããŠã¯ã https ïŒ ãã ããã
@DanielSBeloããã«å¯Ÿããè¯ã解決çãèŠã€ããŸãããïŒ ç§ãåãåé¡ãæ±ããŠããŸãã
ãããããã£ã³ãã¹ãšããŠä¿åããããšã¯Firefoxã§ã¯æ£åžžã«æ©èœããŸãããChromeã§ããããä¿åããããšã¯ã§ããŸããã å€æã«çŽæ¥é¢ä¿ããŠãããšã¯æããŸããããChromeãCORãåŠçããæ¹æ³ã§ããå¯èœæ§ãé«ãã§ãã ããããç§ã¯çããèŠã€ããããšããŠå®å šã«ç«ã¡åŸçããŠããŸãã
@TGOlsonçŸåšã®ãªãªãŒã¹ã®html2canvasã¯ã1ã¬ãã«ãã®å€æããã¬ã³ããªã³ã°ã§ããªããããCSS3å€æã«ã¯æ¬åœã«åé¡ããããŸããã€ãŸããããããã¹ã¿ãã¯ããŸããã
ã°ãŒã°ã«ãããã§éã¶ã ãã§ãåé¡ãå€æã«ããããšã確èªã§ããŸã-éåžžã次ã®ãããªã¹ã¯ãªãŒã³ã·ã§ããã衚瀺ãããŸãïŒ
ïŒcssã§ã¯ããããå
šäœãæ£ããé
眮ãããŸãããcss3ãç¡å¹ã«ãããšããããçºçããŸãïŒ
å¯äžã®è§£æ±ºçã¯ãcss3å€æã¹ã¿ãã¯å
šäœãå®è£
ããããšã§ãã Niklasã«ãã£ãŠé²è¡äžã§ãããã©ããã¯ããããŸãããã誰ãããããè¡ãå¿
èŠããããŸã:-)
賌èªãã
ç§ãåãåé¡ãæ±ããŠããŸã-Chromeã ãã§ãã ç§ã¯html2canvas-proxy-phpã䜿çšããŠããŸãã ä»ã®ãã©ãŠã¶ã¯æ£åžžã«åäœããŸãã ãããã®äžéšãæ¬ èœããŠããã ãã§ãããããã®ãµã€ãºå€æŽããªãŒããŒã¬ã€ã®è¿œå /åé€ãªã©ã«é¢é£ããŠããããã§ãã
åèãŸã§ã«-ããããã£ããã£æ©èœããã°ããèµ·åããŠå®è¡ããå¿
èŠãããå Žåã¯ããã€ã§ãGoogleã¹ããªãŒããã¥ãŒãŸãã¯éçãããAPIã䜿çšã§ããŸãã åºæ¬çã«ãçŸåšã®ãŠãŒã¶ãŒãå°å³äžã§èŠãŠãããã®ïŒ map.getPov
ãªã©ïŒãåæ§ç¯ããGoogleãããã®éæ¢ç»åãååŸããŸãã
ãã®ã¢ãããŒãã¯ãªãŒããŒã¬ã€ã§ã¯æ©èœããªããšæããŸã
ç§ã¯ã¡ããã©ãã®åé¡ã«åºããããŸããã ç§ãééã£ãŠããªãå Žåããã®ã¹ã¿ãã¯ãªãŒããŒãããŒã®
var transform=$(".gm-style>div:first>div").css("transform")
var comp=transform.split(",") //split up the transform matrix
var mapleft=parseFloat(comp[4]) //get left value
var maptop=parseFloat(comp[5]) //get top value
$(".gm-style>div:first>div").css({ //get the map container. not sure if stable
"transform":"none",
"left":mapleft,
"top":maptop,
})
ãããããcss3å€æããã§ãã¯ããŠãã¬ã³ããªã³ã°äžã«éåžžã®CSSããžã·ã§ãã³ã°ã«èªåçã«å€æããã¬ã³ããªã³ã°åŸã«ããããåé€ããããšãã§ããŸãã
ç»é¢ãã£ããã£æ©èœãäžå®ããŠããŸããã
ããŒãžãå®å
šã«ãªããŒãããåŸã«æ©èœããŸãïŒFirefoxã§CTLR + Rã䜿çšïŒ
ãããç§ã®ã³ãŒãã§ããåºæ¬çã«ã¯ããŠã£ã³ããŠã®ãã£ããã£ãããprintsreenã®64 base / pngç»åãçæããæçµçµæãã¿ã°ãä»ããŠãæ©èœãããã©ããã確èªããŸãã
ããã«æ©èœããããŸã
é¢æ°ebfPrintScreenïŒcomponentNameïŒ
{{
html2cavnas
ïŒ[document.body]ã
{{
ãã®ã³ã°ïŒtrueã
useCORSïŒtrueã
onrenderedïŒé¢æ°ïŒãã£ã³ãã¹ïŒ
{{
img = canvas.toDataURLïŒ "image / jpg"ïŒ;
console.log(img.length);
console.log(img);
var imgComp = $c(conponentName);
imgComp.img.src = img
}
}
);
}
äž»ãªç®çã¯ãäœæåŸã«ã°ãŒã°ã«ãããã«ãŒãããã£ããã£ããããšã§ãããç§ãèšãããã«ããããæ©èœããå Žåãšæ©èœããªãå ŽåããããŸãã äœãèµ·ãã£ãŠããã®ãã«ã€ããŠã®æãããã¯ãããŸããïŒ
ç§ãåãåé¡ãæ±ããŠããŸãã ãºãŒã ããã³ãããåŸãå°å³ã®ç»åãæ®ãã«è¡ããŸããå°å³å šäœã«ãããçªç¶èè¶è²ã«èŠãããããã«ãªããŸãã 誰ããChromeã§ãããä¿®æ£ããå Žåã¯ãç§ã«ç¥ãããŠãã ããã
@mfirdausã®ãœãªã¥ãŒã·ã§ã³ãè©Šã
@mfirdausã®ãœãªã¥ãŒã·ã§ã³ãé©çšããåŸãããããã¥ãŒããã£ããã£ããããšãã§ããŸããã ããããã©ããããããã以äžã®ãã®ã³ãŒãã¯ãããã䜿çšã§ããªãããŠããŸãïŒãã ããhtml2canvasã¯äœ¿çšå¯èœã§ãïŒã
$(".gm-style>div:first>div").css({ //get the map container. not sure if stable
"transform":"none",
"left":mapleft,
"top":maptop,
})
ãã®è¡ãè¡ã£ãŠããããšãã埩å ãããæ¹æ³ã¯ãããŸããïŒ ä»ã®ãšãããå€æã³ãŒãã䜿çšããã«html2canvasé¢æ°ãåŒã³åºããåŸãããããæ©èœãããããã«ãinitMapé¢æ°ãå床åŒã³åºããŠããŸãã
äžèšã®ã¹ã¯ãªããã¯GoogleMaps v3ã§æ©èœããŸããïŒ
ç§ã®èŠä»¶ã¯ãã«ãŒããæãããGoogle Mapv3ã®ã¹ã¯ãªãŒã³ã·ã§ãããæ®ãããšã§ãã
Firefoxã§ã¯ããŸãæ©èœããŸãããChromeã«ã¯ããŒã«ãŒãã«ãŒãããããŸããã ç§ã¯ãã§ã«ã«ã¹ã¿ã ããŒã«ãŒã䜿çšããŠããŸãã
ã³ã³ãœãŒã«ã«ãšã©ãŒããªãããã®ã³ã°ãéåžžã«å¶éãããŠããããããããã°ã«èŠåŽããŠããŸãã
Chromeã§åé¡ã解決ãã人ã¯ããŸããïŒ 2ã€ã®èšèªã§ãããã·ã¹ã¯ãªãããè©ŠããŸããããã©ã¡ããéãããªãããã§ãã
ç§ã¯åæ§ã®åé¡ãæ±ããŠããŸããç§ã¯ã€ã³ã¿ãŒããããããã®ã³ãŒããã³ããŒ/ã«ããããŸãïŒ
if($.browser.safari) {// Fix for Chrome
var transform=$(".gm-style>div:first>div").css("transform");
var comp=transform.split(","); //split up the transform matrix
var mapleft=parseFloat(comp[4]); //get left value
var maptop=parseFloat(comp[5]); //get top value
$(".gm-style>div:first>div").css({ //get the map container. not sure if stable
"transform":"none",
"left":mapleft,
"top":maptop,
});
}
html2canvas([$("#map")[0]], {
logging: false,
useCORS: true,
onrendered: function (canvas) {
$('#screenshot').after(canvas);
if($.browser.safari) {// Fix for Chrome
$(".gm-style>div:first>div").css({
left:0,
top:0,
"transform":transform
});
}
}
});
åäœããŸããããã³ãã©ãŒã䜿çšããŠãããã移åãããšåäœããŸããã ããŒã«ãŒãããªãŽã³ãªã©ãæäœããŸããFirefoxïŒãããã移åã§ããŸãïŒã§ãåäœããŸãããã¯ãã ã§ã¯åäœããŸããã
äœãæ¡ã ïŒ
ä¿®çæžã¿ ïŒ
ç§ãæãã«ã³ããŒ/貌ãä»ãããã¯ãã ã®ä¿®æ£ã¯ããªã¬ãŒãããŸããã§ããã
ããã¯ç§ãããŸãã ïŒ
if(window.chrome) {// Fix for Chrome
var transform=$(".gm-style>div:first>div").css("transform");
var comp=transform.split(","); //split up the transform matrix
var mapleft=parseFloat(comp[4]); //get left value
var maptop=parseFloat(comp[5]); //get top value
$(".gm-style>div:first>div").css({ //get the map container. not sure if stable
"transform":"none",
"left":mapleft,
"top":maptop,
});
}
html2canvas([$("#map > div.g-map-canvas > div > div > div:nth-child(1)")[0]], {
logging: false,
useCORS: true,
onrendered: function (canvas) {
$('#screenshot').after(canvas);
if(window.chrome) {// Fix for Chrome
$(".gm-style>div:first>div").css({
left:0,
top:0,
"transform":transform
});
}
}
});
html2canvasã®éåžžã«é·ãã»ã¬ã¯ã¿ãŒã¯ããã¿ã³ããªãã·ã§ã³ã®ãªãããããæã€ããã®ãã®ã§ãã
ç§ã¯ä»åããŠããŸããããããšãã
ããããšã@GCorbelããã¯ããªãã®ãœãªã¥ãŒã·ã§ã³ã§éåžžã«ããŸãæ©èœããŸãã
äžèšã®åé¿çã¯ããããã¬ã³ããªã³ã°ããããã«æ©èœããŸãããäžéšã®ã³ã³ãããŒã«ããªãããééã£ãäœçœ®ã«ãããŸãã äœãæ¡ã¯ïŒ
ããã¯ãŸã v1.0.0ã®åé¡ã§ããïŒ ãããããªãã jsfiddleã§äŸãå ±æããŠ
ãã®åé¡ã¯ãå ã®äœæè ããã®è©³çŽ°æ å ±ã®èŠæ±ã«å¯Ÿããå¿çããªãã£ããããèªåçã«ã¯ããŒãºãããŸããã çŸåšåé¡ã«ãªã£ãŠããæ å ±ã ãã§ã¯ãè¡åãèµ·ããã®ã«ååãªæ å ±ããããŸããã ããã«èª¿æ»ã§ããããã«ãå¿ èŠãªåçãããå Žåã¯ãé£çµ¡ãã ããã
@niklasvhããããŸã ææ°ããŒãžã§ã³ã®åé¡ã§ããããšã確èªã§ããŸãã ããã¯ããã®åé¡ã®ãã¹ãäžã«äœæãããã£ãã«ã§ãïŒ http ïŒ
ãã£ãã«ã¯ããªã³ã¯ãããã¹ã¿ãã¯ãªãŒããŒãããŒã®è³ªåã§èª¬æãããŠããåé¡ã瀺ããŠããŸãããå¿ ããããã®ã¹ã¬ããã®OPã«ãããã®ã§ã¯ãããŸããã ãããããã³ããªããŠããããããã³ããŒããã®ã«åé¡ã¯ãããŸããã Chromeã§ã¯FireFoxã§ã¯ãªããããããã³ãããšãã³ããŒããããããã¯æåã«èªã¿èŸŒãŸããé åã®å€åŽã§ã¯ç©ºçœã«ãªããŸãã
ãã®ã¹ã¬ããã§æäŸãããŠããä¿®æ£ã¯ãåé¡ã解決ããŠããããã§ãã
@ Ananda-Pryana jsFiddleãè©ŠããŸããããä¿®æ£ãæ©èœããªããªã£ãããã§ãã ä»ã«è§£æ±ºçã¯ãããŸããïŒ
åãã£ãŠæè¬ããŸãã
æè¿ãªãªãŒã¹ãããææ°ããŒãžã§ã³ã®ã°ãŒã°ã«ãããïŒv3.32ïŒã«ã¯ãæ°ããå®éšçãªã¬ã³ãã©ãŒãããããã§ãã
https://developers.google.com/maps/documentation/javascript/releases
ããã¯ä¿®æ£ãå£ããŸããã ç°¡åãªãã¹ããè¡ã£ãã ãã§ãããïŒChromeã ãã§ãªãïŒãã¹ãŠã®ãã©ãŠã¶ãŒã§åãããã«åé¡ãçºçããŠããããã§ãã次ã®ããŒãžã§ã³ã®html2canvasã§ä¿®æ£ãããããªãããšãé¡ã£ãŠããŸãã
ãã ããç°¡åãªåé¿çã¯ãå€ãããŒãžã§ã³ã®gmapã䜿çšããããšã§ãããã®å Žåãä¿®æ£ã¯åŒãç¶ãæ£åžžã«æ©èœããŸãã
@ Ananda-Pryanaããç§ã¯gmapãããŠã³ã°ã¬ãŒãããæ©èœããŸãããããããšãã
ããããšã@ Ananda-PryanaïŒ ç§ã¯å é±ãããæ©èœãããŠããããããæ°ãããã©ãããã©ãŒã ã«ç§»åããŸããããããŠç§ã¯ãã®ç§»åããããå£ãããã®ã ãšæããŸããã æ°ããç°å¢ãåå ã ãšæã£ãŠãç§ã¯å®å šã«ããºãã®ç©Žãäžã£ãŠããŸããã 3.30ã«ããŠã³ã°ã¬ãŒãããŸãããããã¹ãŠé 調ã§ãã
ã°ãŒã°ã«ãããã®æ°ããããŒãžã§ã³ã§ã¯ãå€æãå¥ã®divã«é©çšãããŠããããã§ãã @GCorbelã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããŸããããã®ã»ã¬ã¯ã¿ãŒïŒ ".gm-style> divïŒfirst> divïŒfirst> divïŒlast> div"ïŒã䜿çšãããšæ©èœããããã§ãã ãŸã 培åºçã«ãã¹ãããŠããŸãããã
@rSensationã®ãã³ãã¯ãææ°ããŒãžã§ã³ã§ã¯é åã®ããã«æ©èœããŸããã ããããšãããããŸããïŒ
ããŒãããã®åé¡ã¯ç§ã«ã¯æ»ã£ãŠããããã§ããåé¡ã確èªããã«ã¯ãããããã³ããå¿ èŠããããŸãããã³ããŠHtml2Canvasã䜿çšããŠç»é¢ãååŸãããšãäžéšã®é åã空çœã®ç°è²ã§è¡šç€ºãããŸããïŒ
ãªãŒããŒã¬ã€ã¬ã€ã€ãŒãåãèœãšãããšãæ±ã£ãŠããçãããž-
@GCorbelã®ã»ã¬ã¯ã¿ãŒã¯ãGoogleãããã¬ã€ã€ãŒã®ã¿ãå€æããŸãã ä»ã®ãªãŒããŒã¬ã€ãããå Žåã¯ãããããã©ã®divã«ããããèŠã€ããå¿
èŠããããŸãïŒããšãã°ã $('.gm-style>div:first>div:first>div:first>div:first>div')
ã¯ç§ã®ãªãŒããŒã¬ã€divã®1ã€ã§ãããåãå€æãcssã«é©çšããŸãã
@mylesbooneãªãŒããŒã¬ã€ã¬ã€ã€ãŒãã©ã®divã§ããããã©ã®ããã«ããŠèŠã€ããŸãããïŒ ç§ã¯çŸåšããªãŒããŒã¬ã€ã¬ã€ã€ãŒãåæããããšããåãåé¡ã«èŠåŽããŠããŸãã
çŸåšããªãŒããŒã¬ã€ã¬ã€ã€ãŒãšããŠGmapMarkerãšGmapPolylineã䜿çšããŠããŸãã
@sunghunOW
解決çã¯ããã§èŠã€ããããšãã§ããŸãhttps://github.com/niklasvh/html2canvas/issues/1568
ãã©ãŠã¶ã®æ€æ»ããŒã«ã䜿çšããŠãå€æãå¿
èŠãªdivã確èªã§ããŸãã
ç§ãèŠã€ããæè¯ã®è§£æ±ºçïŒ
html2canvas($('.gm-style>div:eq(0)')[0],{
useCORS: true,
allowTaint: true,
async:false,
}).then(canvas => {document.body.appendChild(canvas)});
html2canvas($('.gm-style>div:eq(0)')[0],{ useCORS: true, allowTaint: true, async:false, }).then(canvas => {document.body.appendChild(canvas)});
ããã¯ç§ã«ãã£ã³ãã¹ãå®çŸ©ãããŠããªãããšãäžããŸã..ã¢ã€ãã ã®ã»ã¬ã¯ã¿ãŒã¯ç®±ããåºããŠåèªã§ããå¿ èŠããããŸããïŒ
@hseedaããããšãããããŸãïŒ ããªãã®ã»ã¬ã¯ã¿ãŒã¯ç§ã®ããã«ããªãã¯ããã£ãŠããïŒ
ãããæ©èœããå°ãå€æŽãããã»ã¬ã¯ã¿ãŒã§ãïŒå°ãªããšãç§ã«ãšã£ãŠã¯ãããïŒ
const div = document.querySelector('#map > div:first-of-type')
html2canvas(div, {})
ãã ããçŸåšã¯ãå©çšèŠçŽã«æºæ ããããã«åžžã«è¡šç€ºããå¿ èŠã®ããGoogleããŽãåé€ãããŠããŸã:(
ããŠãããŒããäœãã®ã¯ããŒã³ãäœæããŸãã ç§ã¯ãã°ããã®éãã®ããããšæŠã£ãŠããŸããïŒD
ããã¯ç§ã®ããã«åããŸãïŒ
$('#snapshot').on('click',function () {
html2canvas(document.querySelector('.gm-style'),
{useCORS:true, allowTaint: true,async:false} ).then(canvas => {
document.body.appendChild(canvas)
});
});
çœå°å³ã®åé¡ããã£ã³ãã¹ã®çæãšã©ãŒã¯ããªãããŒã§ããããæçµçã«ç§ã«ãšã£ãŠãããä¿®æ£ããã®ã¯ããã®æ§æãè¿œå ããããšã§ããã
ignoreElements: (node) => {
return node.nodeName === 'IFRAME';
}
html2canvas(mapWrapper, {
useCORS: true,
allowTaint: false,
ignoreElements: (node) => {
return node.nodeName === 'IFRAME';
}
}).then(canvas => {
const url = canvas.toDataURL('image/png');
saveAs(url, 'image3.png');
window.URL.revokeObjectURL(url);
});
@imlinusãš@hseedaã«æè¬ããŸãïŒ ãã®ã»ã¬ã¯ã¿ãŒã¯ç§ã«ãšã£ãŠå®ç§ã«æ©èœããŸãïŒ ãããŠããã¯ã°ãŒã°ã«ã®ããŽããä¿æããŸããããããšãïŒ
@hseedaããããšãããããŸãïŒ ããªãã®ã»ã¬ã¯ã¿ãŒã¯ç§ã®ããã«ããªãã¯ããã£ãŠããïŒ
ãããæ©èœããå°ãå€æŽãããã»ã¬ã¯ã¿ãŒã§ãïŒå°ãªããšãç§ã«ãšã£ãŠã¯ãããïŒ
const div = document.querySelector('#map > div:first-of-type') html2canvas(div, {})
ãã ããçŸåšã¯ãå©çšèŠçŽã«æºæ ããããã«åžžã«è¡šç€ºããå¿ èŠã®ããGoogleããŽãåé€ãããŠããŸã:(
ããŠãããŒããäœãã®ã¯ããŒã³ãäœæããŸãã ç§ã¯ãã°ããã®éãã®ããããšæŠã£ãŠããŸããïŒD
æãåèã«ãªãã³ã¡ã³ã
ã°ãŒã°ã«ãããã®æ°ããããŒãžã§ã³ã§ã¯ãå€æãå¥ã®divã«é©çšãããŠããããã§ãã @GCorbelã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããŸããããã®ã»ã¬ã¯ã¿ãŒïŒ ".gm-style> divïŒfirst> divïŒfirst> divïŒlast> div"ïŒã䜿çšãããšæ©èœããããã§ãã ãŸã 培åºçã«ãã¹ãããŠããŸãããã