0

情况如下:在我的舞台上,我有一个引用 BitmapData 对象的 Bitmap 对象。我的位图对象是全屏的,所以是 1366x768。

另一方面,我有一个函数(来自一个库,所以我不能编辑它),它返回一个带有新图片的 BitmapData。那张图片是 640x480,并且该函数每秒调用一次。

这就是问题所在:我找不到将返回的图片缩放到全屏的方法。我尝试使用 Matrix 和 .draw 方法,但什么也没做。

这是一些代码:

var mat:Matrix = new Matrix();
mat.scale(0.52, 0.52); // I tried with other values such as 2 but the picture stays the same
// scr_bmp is the BitmapData attached to the displayed Bitmap
// capt.bmp is the BitmapData returned by the function
// I tried without the new Rectangle but that doesn't change anything
scr_bmp.draw(capt.bmp, mat, null, null,new Rectangle(0, 0, 640, 480), true);

使用此代码,新图片可以正确显示,但其原始尺寸为:640x480,屏幕的其余部分为空白。

在此先感谢您的帮助 !

4

1 回答 1

1

嗯……

mat.scale(scr_bmp.width/capt.bmp.width,scr_bmp.height/capt.bmp.height);
var smallBitmap:Bitmap=new Bitmap(capt.bmp);
scr_bmp.fillRect(scr_bmp.rect,0x00808080);
scr_bmp.draw(smallBitmap,mat);

只是尝试了不同的尺寸,但它对我有用。但我使用的是 AS3,而不是 AS2。

于 2012-12-05T17:00:56.043 回答