2012-03-27 2 views
0

Я использую ActionScript 3.0 для захвата изображения с веб-камеры пользователей, он работает отлично, однако проблема в том, что размер изображения слишком велик для меня. Могу ли я сделать это маленьким, я попытался изменить координаты Bitmap Data. Может ли кто-нибудь предложить мне решение. ThanksИзменение размера BitmapData в ActionScript 3

+0

Вы можете использовать матрицу преобразования в качестве одного из аргументов в 'BitmapData.draw()', который предложит вам наилучшее качество масштабирования. – shanethehat

+0

http://stackoverflow.com/questions/964495/what-is-the-best-way-to-resize-a-bitmapdata-object –

ответ

2

При захвате веб-камеры вы должны предоставить матрицу. Эта матрица может обрабатывать масштабирование.

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(); 

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

+0

как установить размер 150: 150 для моего изображения здесь. – freebird

+0

scaleFactor = 150/camera.width; – Kodiak

+0

спасибо, мне придется установить его, прежде чем использовать правильно ??? спасибо – freebird

Смежные вопросы