konva/test/manual/RGBA-test.ts

73 lines
1.5 KiB
TypeScript
Raw Normal View History

2021-04-30 22:24:27 +08:00
import { assert } from 'chai';
2021-05-05 22:19:24 +08:00
import { addStage, Konva, loadImage } from '../unit/test-utils';
2021-04-30 22:24:27 +08:00
describe('RGBA', function () {
// ======================================================
2021-04-30 22:24:27 +08:00
it.skip('colorize basic', function (done) {
var data = [
{
color: '#2a6511',
filter: [242, 193, 168, 0.33],
2020-05-08 22:59:35 +08:00
result: [108, 131, 67, 255],
},
{
color: '#e4d526',
filter: [175, 98, 37, 0.79],
2020-05-08 22:59:35 +08:00
result: [186, 122, 37, 255],
},
];
2015-07-30 09:08:33 +08:00
var stage = new Konva.Stage({
container: 'konva-container',
width: data.length,
2020-05-08 22:59:35 +08:00
height: 1,
});
2015-07-30 09:08:33 +08:00
var layer = new Konva.Layer({
2020-05-08 22:59:35 +08:00
id: 'layer',
});
2015-07-30 09:08:33 +08:00
for (var i = 0; i < data.length; i += 1) {
var d = data[i];
2015-07-30 09:08:33 +08:00
var rect = new Konva.Rect({
x: i,
y: 0,
width: 1,
height: 1,
2020-05-08 22:59:35 +08:00
fill: d.color,
});
2015-07-30 09:08:33 +08:00
rect.cache();
2015-07-30 09:08:33 +08:00
rect.red(d.filter[0]);
rect.green(d.filter[1]);
rect.blue(d.filter[2]);
rect.alpha(d.filter[3]);
2015-07-30 09:08:33 +08:00
rect.filters([Konva.Filters.RGBA]);
layer.add(rect);
}
2015-07-30 09:08:33 +08:00
stage.add(layer);
layer.batchDraw();
2015-07-30 09:08:33 +08:00
var context = layer.getCanvas().getContext();
2015-07-30 09:08:33 +08:00
2020-05-08 22:59:35 +08:00
var imageDataToArray = function (x) {
var imageData = context.getImageData(x, 0, 1, 1).data;
2015-07-30 09:08:33 +08:00
return [imageData['0'], imageData['1'], imageData['2'], imageData['3']];
};
2015-07-30 09:08:33 +08:00
var a0 = imageDataToArray(0);
var a1 = imageDataToArray(1);
2015-07-30 09:08:33 +08:00
assert.deepEqual(a0, data[0].result);
assert.deepEqual(a1, data[1].result);
2015-07-30 09:08:33 +08:00
done();
});
2015-07-30 09:08:33 +08:00
});