The HTML5 drawImage() method is used to draw an image, canvas or video on the canvas. It also draws parts of an image. You can also use it to increase or decrease image size.
Here are the parameter values of the drawImage() method −
Sr.No | drawImage() Parameter & Description |
---|---|
1 | img To specify the image, canvas, or video. |
2 | sx x coordinate where to start clipping. This is optional. |
3 | sy y coordinate where to start clipping. This is optional. |
4 | swidth Width of the clipped image. This is optional. |
5 | sheight Height of the clipped image. This is optional. |
6 | x x coordinate where the image is to be placed on the canvas |
7 | y y coordinate where the image is to be placed on the canvas |
8 | width Width of the image to use. |
9 | height Height of the image to use. |
Example
You can try to run the following code to learn how to draw an image using the drawImage() method −
<!DOCTYPE HTML> <html> <head> <script type = "text/javascript"> var pattern = new Image(); function animate() { pattern.src = '/html5/images/pattern.jpg'; setInterval(drawShape, 100); } function drawShape() { // get the canvas element using the DOM var canvas = document.getElementById('newCanvas'); // Make sure we don't execute when canvas isn't supported if (canvas.getContext) { // use getContext to use the canvas for drawing var ctx = canvas.getContext('2d'); ctx.fillStyle = 'rgba(0,0,0,0.4)'; ctx.strokeStyle = 'rgba(0,153,255,0.4)'; ctx.save(); ctx.translate(150,150); var time = new Date(); ctx.rotate( ((2*Math.PI)/6)*time.getSeconds() + ( (2*Math.PI)/6000)*time.getMilliseconds() ); ctx.translate(0,28.5); ctx.drawImage(pattern,-3.5,-3.5); ctx.restore(); } else { alert('You need Safari or Firefox 1.5+ to see this demo.'); } } </script> </head> <body onload = "animate();"> <canvas id = "newCanvas" width = "400" height = "400"></canvas> </body> </html>