{"ScriptPreparationCode":"var canvas1 = document.getElementById(\u0022canvas1\u0022)\r\nvar ctx1 = canvas1.getContext(\u00222d\u0022);\r\nvar canvas2 = document.getElementById(\u0022canvas2\u0022)\r\nvar ctx2 = canvas2.getContext(\u00222d\u0022);\r\nvar canvas3 = document.getElementById(\u0022canvas3\u0022)\r\nvar ctx3 = canvas3.getContext(\u00222d\u0022);\r\n\r\nctx1.fillStyle = \u0022rgb(10,80,80)\u0022;\r\nctx1.fillRect(0,0,50,50);\r\nctx1.fillStyle = \u0022rgb(80,180,180)\u0022;\r\nctx1.fillRect(4,4,42,42);","TestCases":[{"Name":"Scaling","Code":"ctx2.drawImage(canvas1, 0, 0, 50, 50, 0, 0, 500, 500);\r\n// Force to perform previous action\r\nctx2.getImageData(0, 0, 1, 1);","IsDeferred":false},{"Name":"Drawing pre-scaled image","Code":"ctx3.drawImage(canvas2, 0, 0, 500, 500);\r\n// Force to perform previous action\r\nctx3.getImageData(0, 0, 1, 1);","IsDeferred":false},{"Name":"No scaling, 1px with shift","Code":"ctx3.drawImage(canvas2, 0, 0, 1, 1, 1, 1, 1, 1);\r\n// Force to perform previous action\r\nctx3.getImageData(1, 1, 1, 1);","IsDeferred":false}]}