Изменение размера 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();

Предпочитаю первый метод, если вы в порядке с сглаживанием.

Другие вопросы по тегам