Изменение размера BitmapData в ActionScript 3
Я использую ActionScript 3.0
Для захвата изображения с веб-камеры пользователей, он работает нормально, однако проблема в том, что размер изображения слишком велик для меня. Можно ли сделать его маленьким, я попытался изменить координаты Bitmap Data
, Кто-нибудь может предложить мне решение. Спасибо
1 ответ
Решение
Когда вы снимаете веб-камеру, вы должны предоставить матрицу. Эта матрица может обрабатывать масштабирование.
var output:BitmapData = new BitmapData(camera.width * scaleFactor, camera.height * scaleFactor, false);
var matrix:Matrix = new Matrix();
matrix.scale(scaleFactor, scaleFactor);
output.draw(camera, matrix, null, null, null, true);
Иногда сглаживание этого метода не совсем удовлетворительно. Решением будет использование промежуточного звена:
var capture:BitmapData = new BitmapData(camera.width, camera.height, false);
capture.draw(camera);
//or with a newer compiler
//camera.drawToBitmapData(capture);
var intermediate:Bitmap = new Bitmap(capture);
intermediate.scaleX = intermediate.scaleY = scaleFactor;
output.draw(intermediate);
capture.dispose();
Предпочитаю первый метод, если вы в порядке с сглаживанием.