Clip of a rectangular region of 200*120 pixels from the canvas.
Then, draw a red rectangle.
Only the part of the red rectangle that is inside the clipped area is visible:
<!DOCTYPE html> <html> <body> <span>Without clip():</span> <canvas id="myCanvas" width="300" height="180" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> <script> var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); // Draw a rectangle ctx.rect(50, 20, 200, 120);/*w ww.j a v a 2s. c om*/ ctx.stroke(); // Draw red rectangle ctx.fillStyle = "red"; ctx.fillRect(0, 0, 150, 100);</script> <span>With clip():</span> <canvas id="myCanvas2" width="300" height="180" style="border:1px solid #d3d3d3;"> Your browser does not support the HTML5 canvas tag.</canvas> <script> var c = document.getElementById("myCanvas2"); var ctx = c.getContext("2d"); // Clip a rectangular area ctx.rect(50, 20, 200, 120); ctx.stroke(); ctx.clip(); // Draw red rectangle after clip() ctx.fillStyle = "red"; ctx.fillRect(0, 0, 150, 100); </script> </body> </html>
The clip()
method clips a region from the original canvas.
Once a region is clipped, all drawing will be limited to the clipped region.
context.clip();