У меня странная проблема, когда Flash Player в Chrome не обновляется, если размер браузера не изменен. Приложение представляет собой онлайн-инструмент дизайна, написанный на Flex, и одна из функций позволяет пользователю загружать изображение и обрезать его. Изображение загружается нормально, и действие кадрирования не перезагружает изображение, а использует Bitmap.copyPixels для создания обрезанной версии.
Когда я тестирую на localhost (хотя локальный сервер не только прямо из файловой системы), проблема не возникает. Однако на нашем QA-сервере изображение не появится, если вы не измените размер браузера, когда я полагаю, что принудительное обновление экрана.
Я попробовал все обычные подозреваемые в AS3 / Flex, чтобы вызвать перерисовку, updateAfterEvent, invalidateDisplayList и т. Д.
Одно из хакерских решений, которое мы придумали, - изменить размер браузера на пиксель, но это, очевидно, не идеально, и я бы предпочел решение в обход:)
спасибо!
Вот битовый код для справки ...
var cropData:BitmapData = new BitmapData( _crop.width, _crop.height );
var originalData:BitmapData = new BitmapData( _loader.width, _loader.height );
originalData.draw( _loader );
cropData.copyPixels( originalData, _crop, new Point() );
var crop:Bitmap = new Bitmap( cropData );
crop.smoothing = true;
this.addChild( crop );
if ( _width > 0 && _height > 0 )
{
crop.width = _width;
crop.height = _height;
}