Есть ли способ получить данные изображения слоя, например тот, который пользовательские фильтры получают в качестве параметра? Да, я знаю, что могу использовать getImageData и получить его, но у меня с этим возникли проблемы. В перетаскиваемых полотнах он захватывает только видимую часть слоя. Может быть, я могу создать новый холст, а затем поместить туда слой и получить данные изображения? Но мне было интересно, есть ли способ сделать это, уже встроенный в konva?
Получить данные изображения слоя
comment
Вы хотите, чтобы getImageData занимала площадь больше холста?
- person lavrton   schedule 23.08.2018
comment
Да, это тоже вариант.
- person emi   schedule 23.08.2018
Ответы (1)
Если вы хотите получить данные изображения холста слоя, вы можете сделать это:
const ctx = layer.getContext();
const imageData = ctx.getImageData(0, 0, width, height);
Если ваша сцена слишком мала и вам нужны данные изображения большего размера, вам нужно экспортировать слой на холст большего размера, а затем получить данные изображения:
const canvas = layer.toCanvas({ x: 0, y: 0, width, height});
const imageData = canvas.getContext('2d').getImageData(0, 0, width, height);
person
lavrton
schedule
23.08.2018
Спасибо! Второй вариант как раз то, что мне нужно.
- person emi; 23.08.2018