1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import { kUnitCaseParamsBuilder } from '../../../../common/framework/params_builder.js';
import { kCanvasAlphaModes, kCanvasColorSpaces } from '../../../capability_info.js';
// prettier-ignore
const kRGBAData = new Uint8Array([
0, 255, 0, 255,
117, 251, 7, 255,
170, 35, 209, 255,
80, 150, 200, 255,
]);
const width = kRGBAData.length / 4;
function createCanvas(colorSpace: PredefinedColorSpace) {
const canvas = document.createElement('canvas');
canvas.width = width;
canvas.height = 1;
const context = canvas.getContext('2d', {
colorSpace,
}) as CanvasRenderingContext2D;
const imgData = context.getImageData(0, 0, width, 1);
imgData.data.set(kRGBAData);
context.putImageData(imgData, 0, 0);
document.body.appendChild(canvas);
}
const u = kUnitCaseParamsBuilder
.combine('alphaMode', kCanvasAlphaModes)
.combine('colorSpace', kCanvasColorSpaces);
// Generate reference canvases for all combinations from the test.
// We only need colorSpace to generate the correct reference.
for (const { colorSpace } of u) {
createCanvas(colorSpace);
}
|