Я только что переехал в Famo.us и думаю, что у него есть удивительный потенциал. Я пытаюсь создать новое приложение с использованием Famo.us и будет иметь «слоистые» представления, один из которых имеет CanvasSurface внутри.Famo.us - Как добавить контент на CanvasSurface
Мой вопрос о том, как я мог бы заполнить CanvasSurface? Я проверил Документы и, пока они говорят о некоторых параметрах, они не говорят вам, как это сделать.
У меня есть представление, в котором я добавляю макет, а затем поверхность к этому макету. Другие виды, которые имеют ImageSurfaces, работают нормально - но я не знаю, правильно ли я нахожусь с CanvasSurface.
До сих пор у меня есть: (часть внутри файла BackgroundView.js)
function BackgroundView() {
View.apply(this, arguments);
_createLayout.call(this);
_createBody.call(this);
_setListeners.call(this);
}
function _createBody() {
this.bodySurface = new CanvasSurface({
canvasSize : [undefined, undefined]
});
var bodyContext= this.bodySurface.getContext('2d');
bodyContext.fillText("Text on Canvas", 100, 100);
this.layout.content.add(this.bodySurface);
}
Он работает без ошибок, но ничего не показывает. CanvasSurface визуализируется ... Есть ли примеры использования CanvasSurface или у кого-нибудь есть мысли?
Еще раз за вашу помощь.
:)
Спасибо за ответ. Извините, я должен был сказать, у меня есть то, что вы добавили, так как это было частью bolierplate из одного из примеров. В инструментах Browser Dev canvasSurface имеет размер браузера - именно этого я и хотел. Но я попытаюсь явно указать размер холста и посмотреть, что произойдет :). Спасибо, что предложили. – Pandafinity
Нет проблем! Это то, что стоит предложить Famo.us как функцию распознавания неопределенного атрибута canvasSize и установить его на фактический размер пикселя контейнера. – johntraver
Это очень полезно. Но я замечаю, что если вы используете requestAnimationFrame (обратный вызов внутри, например, _createBody), bodyContext, похоже, указывает на «неправильный» 2-мерный объект canvas, и любые последующие перерисовы не выполняются. Кажется, что вызов getContext необходим перед каждым перерисованием. Это правда? Думаю, я задам еще один вопрос. – brennanyoung