Я пытаюсь использовать kinetic.js с существующим холстом. Проблема в том, что API kinetic.js требует, чтобы вы указали идентификатор элемента-контейнера, а затем kinetic.js создает Kinetic.Stage
(который создает и использует свой собственный холст).Сделать kineticjs использовать существующий холст
Например:
var stage = new Kinetic.Stage({
container: 'container',
width: 578,
height: 200
});
var layer = new Kinetic.Layer();
var rect = new Kinetic.Rect({
x: 239,
y: 75,
width: 100,
height: 50,
fill: 'green',
stroke: 'black',
strokeWidth: 4
});
// add the shape to the layer
layer.add(rect);
// add the layer to the stage
stage.add(layer);
</script>
Я хочу, чтобы иметь возможность использовать существующий холст элемент с kinetic.js вместо него создать свою собственную. Это возможно?
A similar question был задан вопрос раньше, однако, похоже, он не дает правильного ответа.
Любые идеи? Благодаря!
Я пытаюсь получить кинетику, чтобы использовать существующий холст в качестве его сцены, а не создавать объект кинетического изображения другого холста. Я хочу, чтобы кинетика была способна применить кинетический слой к холсту, который я создаю, а не к тому, что он делает с помощью экземпляра 'Kinetic.Stage' – Brannon
Понял ... подключение существующего html-холста к Kinetic невозможно - яблоки против апельсинов. Однако «пиксели - это пиксели - ничего больше». Поскольку html canvas - это только пиксели, вы можете использовать эти пиксели, чтобы легко заполнить Kinetic.Image. Если вы делаете что-то динамическое с вашим html-холстом, просто (1) var kImage = Kinetic.Image и всякий раз, когда обновляются холсты html (2) kImage.setImage (canvas2Image). И если вы уже создали «интеллектуальные объекты» для вашего html-холста, ваша задача - переносить эти объекты JS в объекты Kinetic. Ура! – markE
Дополнительная мысль: Kinetic.Shape дает вам пустой холст для работы. Вы можете использовать обычные контекстные команды для рисования на этом холсте. Таким образом, вы можете захватить все, что вы делаете на своем холсте html, и легко сделать то же самое на Kinetic.Shape: http://www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-shape-tutorial/ (Предупреждение: некоторые ограничения применяются к этому холсту/контексту, который предоставляет Kinetic.Shape. Они в основном полнофункциональные обертки вокруг реального контекста html canvas +. Вы можете получить фактический контекст, используя this.getContext() ._ context; – markE