OLD | NEW |
(Empty) | |
| 1 <!DOCTYPE HTML> |
| 2 <script src="../../resources/testharness.js"></script> |
| 3 <script src="../../resources/testharnessreport.js"></script> |
| 4 <script> |
| 5 function getCanvasDataFromDrawImage(source, disableSmoothing, shouldTransform) |
| 6 { |
| 7 var canvas = document.createElement("canvas"); |
| 8 canvas.width = 100; |
| 9 canvas.height = 100; |
| 10 var ctx = canvas.getContext("2d"); |
| 11 ctx.clearRect(0, 0, canvas.width, canvas.height); |
| 12 if (disableSmoothing) |
| 13 ctx.imageSmoothingEnabled = false; |
| 14 if (shouldTransform) { |
| 15 ctx.transform(0.5, 0, 0, 0.5, 0, 0); //scaling down |
| 16 ctx.drawImage(source, 0, 0, source.width, source.height, 0, 0, 100, 100)
; |
| 17 } else { |
| 18 ctx.drawImage(source, 0, 0, source.width, source.height, 0, 0, 50, 50); |
| 19 } |
| 20 var d = ctx.getImageData(0, 0, 100, 100).data; |
| 21 return d; |
| 22 } |
| 23 |
| 24 test(function() { |
| 25 var canvas = document.createElement('canvas'); |
| 26 canvas.height = 100; |
| 27 canvas.width = 100; |
| 28 var ctx = canvas.getContext('2d'); |
| 29 ctx.fillStyle = '#FF0000'; |
| 30 ctx.fillRect(0, 0, canvas.width, canvas.height); |
| 31 var data1 = getCanvasDataFromDrawImage(canvas, false, false); |
| 32 var data2 = getCanvasDataFromDrawImage(canvas, true, false); |
| 33 var data3 = getCanvasDataFromDrawImage(canvas, true, true); |
| 34 assert_array_equals(data1, data2, "drawImage() should have the same results
with imageSmoothingEnabled = true and false when scaling down."); |
| 35 assert_array_equals(data1, data3, "drawImage() should account for canvas tra
nsformation when testing whether it is scaling down the source or not"); |
| 36 }, 'Test drawImage with imageSmoothingEnabled=false and scaling down the source.
'); |
| 37 |
| 38 </script> |
OLD | NEW |