2012-03-27 40 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