reactjs - html2canvas border image issue -


i using html2canvas library take screenshot of html view.

but background-image failed load. getting error message error loading background:

here jsfiddle.

window.takescreenshot = function() {      html2canvas(document.getelementbyid("target"), {          onrendered: function (canvas) {              document.body.appendchild(canvas);          },          usecors:true,          logging:true,          allowtaint:true      });  }
#target{      width:300px;      height:160px;      background:lightblue;      color:#fff;      padding:10px;      background-image: url(https://static.pexels.com/photos/20974/pexels-photo.jpg);      background-repeat:no-repeat;      background-position:center center;      -o-background-size: 100%;      -moz-background-size: 100%;      -webkit-background-size: 100%;      background-size: 100%;     height: 100%;  }    #borderimg1 {       border: 10px solid transparent;      padding: 15px;      -webkit-border-image: url(https://www.w3schools.com/cssref/border.png) 30 round; /* safari 3.1-5 */      -o-border-image: url(https://www.w3schools.com/cssref/border.png) 30 round; /* opera 11-12.1 */      border-image: url(https://www.w3schools.com/cssref/border.png) 30 round;  }    #borderimg2 {       border: 10px solid transparent;      padding: 15px;      -webkit-border-image: url(https://www.w3schools.com/cssref/border.png) 30 stretch; /* safari 3.1-5 */      -o-border-image: url(https://www.w3schools.com/cssref/border.png) 30 stretch; /* opera 11-12.1 */      border-image: url(https://www.w3schools.com/cssref/border.png) 30 stretch;  }
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>      <button onclick="takescreenshot()">to image</button>  <div id="target">        <p>the border-image property specifies image used border around element:</p>  <p id="borderimg1">here, middle sections of image repeated create border.</p>  <p id="borderimg2">here, middle sections of image stretched create border.</p>    <p>here original image:</p><img src="https://www.w3schools.com/cssref/border.png">  <p><strong>note:</strong> internet explorer 10, , earlier versions, not support border-image property.</p>    </div>

image error message

for internet security reasons, trying use image different domain in canvas causes problems. there 2 html2canvas options, usecors , proxy, designed try around problem.

you have create proxy in project , use html2canvas proxy option.

click here view sample proxy created in different programming languages.

usage of proxy in html2canvas(c# example)

html2canvas(document.body, {     "logging": true, //enable log (use web console errors , warings)     "proxy":"html2canvasproxy.ashx",     "onrendered": function(canvas) {         var img = new image();         img.onload = function() {             document.body.appendchild(img);         };         img.error = function() {             if(window.console.log) {                  window.console.log("not loaded image canvas.todataurl");             } else {                 alert("not loaded image canvas.todataurl");             }         };         img.src = canvas.todataurl("image/png");     } }); 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -