clip big image in small canvas (v5)

Revision 5 of this benchmark created on


Description

Goal is to draw a big image at position -100,-50 into a canvas that is 16x12 pixel small.

Preparation HTML

<canvas id="imgcanvas" width="256" height="256" style="display:none"></canvas>
<br>
<canvas id="canvas1" width="16" height="12"></canvas>
<canvas id="canvas2" width="16" height="12"></canvas>
<canvas id="canvas3" width="16" height="12"></canvas>
<canvas id="canvas4" width="16" height="12"></canvas>


<script>
  var imgcontext = document.getElementById("imgcanvas").getContext("2d");
  var context1 = document.getElementById("canvas1").getContext("2d");
  var context2 = document.getElementById("canvas2").getContext("2d");
  var context3 = document.getElementById("canvas3").getContext("2d");
  var context4 = document.getElementById("canvas4").getContext("2d");
  
  
  var left = -100,
      up = -50,
      width = document.getElementById("canvas1").width,
      height = document.getElementById("canvas1").height;
  var imagedata;
  var imagedata2;
  var image = new Image();
  image.onload = function() {
   imgcontext.drawImage(image, 0, 0);
   imagedata = imgcontext.getImageData(0, 0, 256, 256);
   imagedata2 = imgcontext.getImageData(-left, -up, width, height);
  };
  image.src = 'data:image/png;base64,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';
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
full
context1.drawImage(image, left, up);
ready
part
context2.drawImage(image, -left, -up, width, height, 0, 0, width, height);
ready
put full
context3.putImageData(imagedata, left, up);
ready
put part
context4.putImageData(imagedata2, 0, 0);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.