2d.imageData.createImageBitmap.p3.rgba.unorm8.html (1660B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <meta charset="UTF-8"> 4 <title>Canvas test: 2d.imageData.createImageBitmap.p3.rgba.unorm8</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/html/canvas/resources/canvas-tests.js"></script> 8 <link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> 9 <body class="show_output"> 10 11 <h1>2d.imageData.createImageBitmap.p3.rgba.unorm8</h1> 12 <p class="desc">Verify round-trip of 8-bit P3 data ImageData through ImageBitmap</p> 13 14 15 <p class="output">Actual output:</p> 16 <canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> 17 18 <ul id="d"></ul> 19 <script> 20 promise_test(async t => { 21 22 var canvas = document.getElementById('c'); 23 var ctx = canvas.getContext('2d', {colorSpace: "srgb", colorType:"float16"}); 24 25 const expectedColor = [ 255, 0, 0, 255 ]; 26 var imageData = new ImageData(10, 10, {colorSpace:"display-p3", pixelFormat:"rgba-unorm8"}); 27 for (let y = 0; y < imageData.height; ++y) { 28 for (let x = 0; x < imageData.width; ++x) { 29 for (let c = 0; c < 4; ++c) { 30 imageData.data[4*(x + y*imageData.width) + c] = expectedColor[c]; 31 } 32 } 33 } 34 var bitmap = await createImageBitmap(imageData); 35 ctx.drawImage(bitmap, 0, 0); 36 var pixel = ctx.getImageData(0, 0, 1, 1, {colorSpace:"display-p3", pixelFormat:"rgba-unorm8"}); 37 for (let c = 0; c < 4; ++c) { 38 assert_approx_equals(pixel.data[c], expectedColor[c], 2); 39 } 40 41 }, "Verify round-trip of 8-bit P3 data ImageData through ImageBitmap"); 42 </script>