Мы обнаружили, что когда мы рисуем одни растровые данные в другие растровые данные с помощью draw, существует верхняя граница масштабирующего преобразования. В какой-то момент параметр IBitmapDrawable перестает отображаться на целевом растровом изображении.
Кто-нибудь знает, каковы параметры этой верхней границы? Это где-то задокументировано?
Ответ 1 · рейтинг 1 · grapefrukt
В документах говорится:
Максимальная ширина и максимальная высота объекта BitmapData - 2880 пикселей.
Я предполагаю, что это тот предел, который вы достигли.
Ответ 3 · рейтинг 1 · Cay
На самом деле эта тема довольно сложна ... есть несколько задокументированных ограничений, но много разных недокументированных ограничений в разных сценариях и версиях Flash Player ... например, проверьте этот пост и его комментарии: http://www.bit-101.com/blog/?p=2067
И если позволите процитировать самого себя ^^
У меня была та же проблема, и я думаю, что это не ограничение draw (), а ограничение DisplayObject ... например:
var bmp=new BitmapData(8000,100,false,0);
var bmp2=new BitmapData(8000,10,false,0xFF0000);
bmp.draw(bmp2);
отлично работает... то же самое с другими методами, такими как fillRect и applyFilter. Однако это не удастся, если вы попытаетесь нарисовать () любой DisplayObject за пределами 4079 пикселей по горизонтали или 4082 пикселей по вертикали (согласно getColorBoundsRect).
Кроме того, здесь, в SO, есть несколько тем с похожими вопросами: максимальный размер спрайт в as3?
Ответ 4 · рейтинг 1 · jedierikb
Хотя BitmapData имеет верхнюю границу своего размера при построенном (2880x2880 в f9 , 16,775,168 общей площади пикселей в f10), мы обнаружили, что при преобразовании bitmapData и рисовании только его части применяется несколько иное ограничение.
Если размер ваших bitmapData составляет 1x1px, вы можете масштабировать его до максимального размера 8191x8191px (намного больше, чем BitmapData, который вы можете построить в f10) и перенести растровое изображение в другое растровое изображение. Если вы масштабируете растровое изображение больше, чем это, оно просто не будет отображаться.