2015-12-08 3 views
0

У меня есть EaselJS Container object и я хочу экспортировать его содержимое (дети Bitmaps) в качестве изображения (похожего на то, что вы бы сделали с ActionScript PNGEncoder.encode).EaselJS export DisplayObject как bitmap

Возможно ли это? У меня есть другой объект, который я не хочу экспортировать, поэтому экспорт полного <canvas> не будет работать.

ответ

1

Вы можете использовать метод getCacheDataURL, чтобы экспортировать любой cached DisplayObject to url данных изображения.

http://jsfiddle.net/lannymcnie/jqfgynve/1/

bmp.cache(0,0,image.width,image.height); 
var url = bmp.getCacheDataURL(); 
var img = new Image(); 
img.src = url; 

Каждый раз, когда вы кэшировать изображения, холст создается, что нарисовано на месте изображения. Этот метод вызывает toDataURL() на кэш-холсте, создавая URL-адрес данных, который может быть передан источнику изображения.

Обратите внимание, что toDataURL не является супер-исполнительным API.

+0

большой! это работает. я хотел бы добавить, чтобы кто-нибудь читал это, что вы можете захотеть 'uncache()' после того, как вы закончите сохранение, и, возможно, также потребуется заменить контейнер новым новым экземпляром: 'bmp.uncache(); bmp = new createjs.Container(); ' – mga