2012-03-27 39 views
0

我使用ActionScript 3.0从用户摄像头捕捉图像,它工作正常,但问题在于图像的大小对我来说太大了。我可以使它变小,我试着改变坐标Bitmap Data。 有人可以建议我解决方案。 谢谢在ActionScript 3中调整位图数据的大小

+0

您可以使用转换矩阵作为'BitmapData.draw()'的参数之一,它将为您提供最好的缩放质量。 – shanethehat 2012-03-27 11:53:26

+0

http://stackoverflow.com/questions/964495/what-is-the-best-way-to-resize-a-bitmapdata-object – 2012-03-27 15:44:00

回答

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 2012-03-27 13:01:18

+0

scaleFactor = 150/camera.width; – Kodiak 2012-03-27 13:02:48

+0

谢谢,我将不得不在使用之前设置它?谢谢 – freebird 2012-03-27 13:03:44