5
A
답변
10
당신은 직접 BitmapData
을 확장 할 수 없습니다 볼 수 있지만 당신은 그것의 확장 클론을 만들 수 있습니다. 다음은 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);
}
}
}
2
비트 맵 객체의 너비와 높이를 설정하면 해당 이미지의 크기가 조절되므로 비트 맵 데이터로 비트 맵을 만든 다음 너비/높이를 사용하여 비트 맵을 만들거나 크기 조정 값을 사용하려면 scaleX/Y를 사용하십시오.
var bmp:Bitmap = new Bitmap(bmpData);
bmp.width = 400; // or 600,800 etc.
bmp.height = 400;
비트 맵 객체와 directy 스케일을 사용하지 않는 경우의 BitmapData이 What is the best way to resize a BitmapData object?