我已经创建了一个应用程序,我正在截图
var bitmapData:BitmapData = new BitmapData(blah, blah)
bitmapData.draw(blah, matrix);
当我在我的电脑上运行它时它工作正常,但是当我将它导出并放在我的 iPhone 上时,bitmapData 完全错误,奇怪的是位置不正确,并且通过我的所有测试,有时大小不同。
我正在尝试做的事情非常简单易行,我只是不明白为什么它不能在 iPhone 上运行。帮助!
我已经创建了一个应用程序,我正在截图
var bitmapData:BitmapData = new BitmapData(blah, blah)
bitmapData.draw(blah, matrix);
当我在我的电脑上运行它时它工作正常,但是当我将它导出并放在我的 iPhone 上时,bitmapData 完全错误,奇怪的是位置不正确,并且通过我的所有测试,有时大小不同。
我正在尝试做的事情非常简单易行,我只是不明白为什么它不能在 iPhone 上运行。帮助!
你如何创建你的矩阵?
试试这个:我前段时间找到了它......并且改进了一点......
/** 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;
}