| <!DOCTYPE html> |
| <style> |
| div.container { |
| display: inline-block; |
| margin-right: 20px; |
| margin-bottom: 10px; |
| width: 100px; |
| vertical-align: top; |
| } |
| div.box { |
| width: 102px; |
| height: 52px; |
| } |
| canvas { |
| border: 1px solid black; |
| width: 100px; |
| height: 50px; |
| } |
| </style> |
| <body> |
| <b>CanvasRenderingContext2D.drawImage() should ignore the image's EXIF orientation if its style image-orientation is set to "none".</b> |
| <br> |
| <br> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas1"></canvas> |
| </div> |
| <br>Normal |
| </div> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas2"></canvas> |
| </div> |
| <br>Flipped horizontally |
| </div> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas3"></canvas> |
| </div> |
| <br>Rotated 180° |
| </div> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas4"></canvas> |
| </div> |
| <br>Flipped vertically |
| </div> |
| <br> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas5"></canvas> |
| </div> |
| <br>Rotated 90° CCW and flipped vertically |
| </div> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas6"></canvas> |
| </div> |
| <br>Rotated 90° CCW |
| </div> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas7"></canvas> |
| </div> |
| <br>Rotated 90° CW and flipped vertically |
| </div> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas8"></canvas> |
| </div> |
| <br>Rotated 90° CW |
| </div> |
| <br> |
| <div class ="container"> |
| <div class ="box"> |
| <canvas id="canvas9"></canvas> |
| </div> |
| <br>Undefined (invalid value) |
| </div> |
| <script> |
| if (window.testRunner) |
| window.testRunner.waitUntilDone(); |
| |
| window.onload = function() { |
| var image = new Image; |
| image.src = "resources/exif-orientation-1-ul.jpg"; |
| image.decode().then(() => { |
| let canvases = document.querySelectorAll("canvas"); |
| for (const canvas of canvases) { |
| canvas.width = canvas.offsetWidth - 2; |
| canvas.height = canvas.offsetHeight - 2; |
| let context = canvas.getContext("2d"); |
| context.drawImage(image, 0, 0, canvas.width, canvas.height); |
| } |
| if (window.testRunner) |
| window.testRunner.notifyDone(); |
| }); |
| } |
| </script> |
| </body> |