Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AS3/FP9-调整精灵的大小_Flash_Actionscript 3_Sprite_Bitmapdata - Fatal编程技术网

Flash AS3/FP9-调整精灵的大小

Flash AS3/FP9-调整精灵的大小,flash,actionscript-3,sprite,bitmapdata,Flash,Actionscript 3,Sprite,Bitmapdata,我已将尺寸为3264x2448的JPG加载到精灵中。我如何按比例调整它的大小以允许我将精灵绘制到BitmapData对象中(在CS3/Flash Player 9中,该对象的高度或宽度限制为2880)。我的目标是使用Soulwire[DisplayUtils][1]创建缩略图。以下是适用于其他较小精灵的代码: var bmpd:BitmapData = new BitmapData(jpgSprite.width, jpgSprite.height, true, 0x00FFFFFF); bmp

我已将尺寸为3264x2448的JPG加载到精灵中。我如何按比例调整它的大小以允许我将精灵绘制到BitmapData对象中(在CS3/Flash Player 9中,该对象的高度或宽度限制为2880)。我的目标是使用Soulwire[DisplayUtils][1]创建缩略图。以下是适用于其他较小精灵的代码:

var bmpd:BitmapData = new BitmapData(jpgSprite.width, jpgSprite.height, true, 0x00FFFFFF);
bmpd.draw( jpgSprite );

var thumb:Bitmap = DisplayUtils.createThumb( bmpd, 100, 100, Alignment.MIDDLE, true);
addChild( thumb );

谢谢你的建议。

我想使用矩阵来缩小它可能会奏效。但是我还没有测试代码

var w:Number = 3264;
var h:Number = 2448;
var scale:Number = w / 2880;
var bmpd:BitmapData = new BitmapData(2880, h / scale, true, 0x00FFFFFF);
var matrix:Matrix = new Matrix();
matrix.createBox(scale, scale)
bmpd.draw(jpgSprite, matrix);

工作很有魅力,谢谢!这是我的通用版本:var w:Number=jpgSprite.width;var h:Number=jpgSprite.height;变量量表:数字=1;如果(h>2880 | | w>2880){scale=(h>w)?h/2880:w/2880;}var bmpd:BitmapData=new BitmapData(w/scale,h/scale,true,0x00FFFFFF);变量变换:矩阵=新矩阵();创建框(缩放,缩放);bmpd.draw(jpgSprite,xform);