<!
DOCTYPE html>
<
title>PNG test: tRNS chunk</
title>
<
link rel=
"help" href=
"https://w3c.github.io/PNG-spec/#11tRNS">
<
script src=
"/resources/testharness.js"></
script>
<
script src=
"/resources/testharnessreport.js"></
script>
<
script src=
"/html/canvas/resources/canvas-tests.js"></
script>
<
body>
<
h1>tRNS chunk handling</
h1>
<
p class=
"desc">test ignored high bits on lower bit depth tRNS</
p>
<
p class=
"output">Actual
output:</
p>
<
canvas id=
"c" class=
"output" width=
"100" height=
"50"><
p class=
"fallback">FAIL (fallback co
ntent)</p></canvas>
<ul id="d"></ul>
<script>
var t = async_test("test ignored high bits on lower bit depth tRNS");
const img = new Image();
img.onload = () => {
_addTest(function(canvas, ctx) {
ctx.drawImage(img, 0, 0);
var pixel = ctx.getImageData(5, 5, 1, 1, {colorSpace: "srgb"}).data;
const pixel_expected = [255, 0, 0, 0];
const epsilon = 2;
_assertSame(pixel.length, pixel_expected.length, "pixel.length", "pixel_expected.length");
// Ignore the color channel comparisons.
// The image itself stores 255 red, 0 green, 0 blue.
// But there may not be a requirement that this be preserved
// while decoding or through canvas processing.
assert_approx_equals(pixel[3], pixel_expected[3], epsilon);
});
};
img.src = "support/trns-high-bits-set.png";
</script>
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland