Reputation: 57
The problem of genres when I am adding image to canvas (drawImage), when I draw a drawing with the other canvas methods I have no problems.
var ready;
ready = function() {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg';
imageObj.onload = function() {
context.drawImage(imageObj, 69, 50);
};
var pngUrl = canvas.toDataURL();
console.log(pngUrl);
$('#client_avatar').val(pngUrl);
};
Upvotes: 1
Views: 12249
Reputation: 32879
$(document).ready(function() {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj, 0, 0, 200, 200);
var pngUrl = canvas.toDataURL();
console.log(pngUrl);
$('#client_avatar').attr('src', pngUrl);
};
imageObj.crossOrigin = 'anonymous'; //not necessary, if image hosted on same server
imageObj.src = 'https://i.imgur.com/Q6aZlme.jpg';
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas id="canvas" width="200" height="200"></canvas>
<img id="client_avatar">
apology for not giving any explanation
ʜᴀᴠᴇ ꜰᴜɴ :)
Upvotes: 0
Reputation: 4922
before setting source you must define onload otherwise it will not be able to call onload.
$(document).ready(function() {
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj, 69, 50);
};
imageObj.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg';
var pngUrl = canvas.toDataURL();
console.log(pngUrl);
// $('#client_avatar').val(pngUrl);
$("#client_avatar").append("<img src='"+ pngUrl +"'>")
});
Here is working jsbin link
Upvotes: 1