Computer >> Computer tutorials >  >> Programming >> HTML

How to draw an Image with drawImage() in HTML5?


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.

 

How to draw an Image with drawImage() in HTML5?

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>