0

状況は次のとおりです。私のステージでは、BitmapData オブジェクトを参照する Bitmap オブジェクトがあります。私の 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);

さまざまなサイズで試してみましたが、うまくいきました。しかし、私はAS2ではなくAS3を使用しています。

于 2012-12-05T17:00:56.043 に答える