<html lang="en">
<head>
<meta charset="utf-8">
<title>Example of use of readAsDataURL with images</title>
</head>
<body>
<label for="file">Choose a single image file:</label>
<input type="file" id="file"
onchange="readFileAndDraw(this.files);"/><p>
<canvas id="myCanvas" width="400" height="400"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext('2d');
function drawImage(imageFile) {
var reader = new FileReader();
//capture the file information.
reader.onload = function(e) {
// For drawing an image on a canvas we
// need an image object
var img = new Image();
// Even if the file has been read, decoding
// the dataURL format may take some time
// so we need to use the regular way of
// working with images: onload callback
// that will be called after setting the src attribute
img.onload = function(e) {
// draw the image!
ctx.drawImage(img, 0, 0, 400, 400);
}
// e.target.result is the dataURL, so we set the
// src if the image with it. This will call asyncrhonously
// the onload callback
img.src= e.target.result;
};
// Read in the image file as a data URL.
reader.readAsDataURL(imageFile);
}
function readFileAndDraw(files) {
drawImage(files[0]);
}
</script>
</body>
</html>
Output
300px
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |