toDataURL.png.complexcolours.html (1857B)
1 <!DOCTYPE html> 2 <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> 3 <title>Canvas test: toDataURL.png.complexcolours</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="/html/canvas/resources/canvas-tests.js"></script> 7 <link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> 8 <body class="show_output"> 9 10 <h1>toDataURL.png.complexcolours</h1> 11 <p class="desc">toDataURL with PNG handles non-primary and non-solid colours correctly</p> 12 13 14 <p class="output">Actual output:</p> 15 <canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> 16 <p class="output expectedtext">Expected output:<p><img src="toDataURL.png.complexcolours.png" class="output expected" id="expected" alt=""> 17 <ul id="d"></ul> 18 <script> 19 var t = async_test("toDataURL with PNG handles non-primary and non-solid colours correctly"); 20 _addTest(function(canvas, ctx) { 21 22 // (These values are chosen to survive relatively alright through being premultiplied) 23 ctx.fillStyle = 'rgba(1, 3, 254, 1)'; 24 ctx.fillRect(0, 0, 25, 25); 25 ctx.fillStyle = 'rgba(8, 252, 248, 0.75)'; 26 ctx.fillRect(25, 0, 25, 25); 27 ctx.fillStyle = 'rgba(6, 10, 250, 0.502)'; 28 ctx.fillRect(50, 0, 25, 25); 29 ctx.fillStyle = 'rgba(12, 16, 244, 0.25)'; 30 ctx.fillRect(75, 0, 25, 25); 31 var img = new Image(); 32 deferTest(); 33 img.onload = t.step_func_done(function () 34 { 35 ctx.drawImage(img, 0, 25); 36 // (The alpha values do not really survive float->int conversion, so just 37 // do approximate comparisons) 38 _assertPixel(canvas, 12,40, 1,3,254,255); 39 _assertPixelApprox(canvas, 37,40, 8,252,248,191, 2); 40 _assertPixelApprox(canvas, 62,40, 6,10,250,127, 4); 41 _assertPixelApprox(canvas, 87,40, 12,16,244,63, 8); 42 }); 43 img.src = canvas.toDataURL(); 44 45 46 }); 47 </script>