0

アプリを作成し、スクリーンショットを撮っています

var bitmapData:BitmapData = new BitmapData(blah, blah) bitmapData.draw(blah, matrix);

PCで実行すると正常に動作しますが、エクスポートしてiPhoneに配置すると、bitmapDataが完全に間違っており、奇妙なことに位置がずれており、すべてのテストでサイズが異なる場合があります。

私がやろうとしていることは非常にシンプルで簡単です、なぜそれがiPhoneで動作しないのか理解できません。ヘルプ!

4

1 に答える 1

0

マトリックスをどのように作成しますか?

これを試してみてください:私はそれをしばらく前に見つけました...そして少し改善しました...

    /** create a bitmap from a displayObject */
    public static function toBitmap(value:DisplayObject, inverse:Boolean = true):Bitmap
    {
        // help: http://darylteo.com/blog/2006/12/17/bitmapdatadraw/

        var defaultMartix:Matrix = value.transform.matrix;

        //Find occupied region
        var region:Rectangle = new Rectangle();
        region = value.getBounds(value);

        //Build Matrix Transform
        var matrix:Matrix = new Matrix(1, 0, 0, 1, -region.x, -region.y);

        value.transform.matrix = matrix;

        var bmpData:BitmapData = new BitmapData(value.width, value.height, true, undefined);
        bmpData.draw(value, matrix, null, null, null, true);

        var bmp:Bitmap = new Bitmap(bmpData, "auto", true);

        if (inverse)
        {
            //Re apply an Inverse Matrix
            matrix = new Matrix(1, 0, 0, 1, region.x, region.y);
            bmp.transform.matrix = matrix;
        }

        value.transform.matrix = defaultMartix;

        return bmp;
    }
于 2012-06-20T09:27:36.323 に答える