Я пытаюсь отобразить 720x1280 растровых изображений на контейнере / приложении с таким же размером.
Если я запускаю Flash Debugger 11.1, изображения покрывают только половину размера приложения (и одного изображения).
Однако, если я запускаю SWF в браузере (Firefox), изображения отображаются с правильным размером.
Для разрешений 640x480 нет проблем ни с отладчиком, ни с браузером.
Я использую Flex 4.6.
Я делаю следующее:
1) Когда заявка будет завершена:
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
2) Для установки разрешения камеры 640x480
3) Чтобы получить изображение 640x480 с камеры. Это разрешение поддерживается камерой. Было проверено.
4) Обрезать центральную область изображения 4: 3, чтобы получить 270x480 (9:16).
4.1) Чтобы вычислить область отсечения = Прямоугольник ((640-270) / 2 = 185,0,270,480), 185 - это смещение X для обрезки центральной части правого изображения.
4.2) Обрезать:
destination.copyPixels( source, clippingArea, new Point(0,0) );
, где пункт назначения - это битовые данные размером 270x480.
Источник 640х480.
5) Чтобы масштабировать растровые данные 270x480 в 720x1280:
var scale:Number = destination.width/source.width;
var transformations:Matrix = new Matrix();
transformations.scale( scale, scale);
destination.draw(source, transformations, null, blendMode, null, smoothing);
где пункт назначения - 720x1280 bitmapData (отличается от шага 4))