2d.imageData.createImageBitmap.srgb.rgba.float16.html (1426B)
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>OffscreenCanvas test: 2d.imageData.createImageBitmap.srgb.rgba.float16</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 9 <h1>2d.imageData.createImageBitmap.srgb.rgba.float16</h1> 10 <p class="desc">Verify round-trip of 16-bit float sRGB data ImageData through ImageBitmap</p> 11 12 13 <script> 14 promise_test(async t => { 15 16 var canvas = new OffscreenCanvas(100, 50); 17 var ctx = canvas.getContext('2d', {colorSpace: "srgb", colorType:"float16"}); 18 19 const expectedColor = [ 1.0, 2.0, -1.0, 1.0 ]; 20 var imageData = new ImageData(10, 10, {colorSpace:"srgb", pixelFormat:"rgba-float16"}); 21 for (let y = 0; y < imageData.height; ++y) { 22 for (let x = 0; x < imageData.width; ++x) { 23 for (let c = 0; c < 4; ++c) { 24 imageData.data[4*(x + y*imageData.width) + c] = expectedColor[c]; 25 } 26 } 27 } 28 var bitmap = await createImageBitmap(imageData); 29 ctx.drawImage(bitmap, 0, 0); 30 var pixel = ctx.getImageData(0, 0, 1, 1, {colorSpace:"srgb", pixelFormat:"rgba-float16"}); 31 for (let c = 0; c < 4; ++c) { 32 assert_approx_equals(pixel.data[c], expectedColor[c], 0.01); 33 } 34 35 }, "Verify round-trip of 16-bit float sRGB data ImageData through ImageBitmap"); 36 </script>