#createjs #easeljs
#createjs #easeljs
Вопрос:
У меня есть проект в CreateJS, который я хотел бы переделать без CreateJS, но кажется, что все мои изображения находятся в формате формы EaselJS. Например:
this.shape_1 = new cjs.Shape();
this.shape_1.graphics.f("#465762").s().p("AgOAOQgFgFAAgJQAAgHAFgHQAHgFAHgBQAIABAHAFQAFAHAAAHQAAAJgFAFQgHAHgIgBQgHABgHgHg");
this.shape_1.setTransform(43.4,42,0.747,0.747);
Есть ли какой-нибудь метод, который я мог бы использовать для экспорта этого в файл изображения?
Ответ №1:
Вы можете экспортировать любой объект отображения EaselJS, кэшируя его, а затем экспортируя dataURL. Обратите внимание, что вы должны знать исходные границы. Если вам нужен больший кеш, просто увеличьте scale
параметр.
this.shape_1.cache(x, y, w, h, [scale]);
var url = this.shape_1.getCacheDataURL();
К сожалению, этот метод не поддерживает параметры холста.toDataURL(), поэтому, если вы этого хотите, вы можете напрямую обращаться к кешу:
this.shape_1.target.cacheCanvas.toDataURL(…[type], [encoderOptions]);
Затем вы можете использовать dataURL несколькими способами. Вот статья об этом. В качестве альтернативы, просто поместите сгенерированный кэш в DOM и щелкните по нему правой кнопкой мыши, чтобы сохранить.
document.body.appendChild(this.shape_1.target.cacheCanvas);
Документы: