AS3 - 缩放的BitmapData [英] AS3 - Scale BitmapData
本文介绍了AS3 - 缩放的BitmapData的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想缩放的BitmapData以不同的尺寸,例如,200,400,600和800。
I'd like to scale a BitmapData to different sizes such as 200, 400, 600 and 800.
有什么好方法呢?
推荐答案
您不能直接缩放的BitmapData code>,但你可以做它的一个比例克隆。
下面是一个简单的例子用于增减
的BitmapData code>:
You can't directly scale a BitmapData
but you can make a scaled clone of it.
Here is a quick example for scaling a BitmapData
:
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.geom.Matrix;
import mx.core.BitmapAsset;
public class Test extends Sprite {
[Embed(source="test.jpg")]
private var Image:Class;
public function Test() {
var originalBitmapData:BitmapData = BitmapAsset(new Image()).bitmapData;
function scaleBitmapData(bitmapData:BitmapData, scale:Number):BitmapData {
scale = Math.abs(scale);
var width:int = (bitmapData.width * scale) || 1;
var height:int = (bitmapData.height * scale) || 1;
var transparent:Boolean = bitmapData.transparent;
var result:BitmapData = new BitmapData(width, height, transparent);
var matrix:Matrix = new Matrix();
matrix.scale(scale, scale);
result.draw(bitmapData, matrix);
return result;
}
var bitmapA:Bitmap = new Bitmap(originalBitmapData);
addChild(bitmapA);
var bitmapB:Bitmap = new Bitmap(scaleBitmapData(originalBitmapData, 0.5));
addChild(bitmapB);
}
}
}
这篇关于AS3 - 缩放的BitmapData的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文