0
Я редактирую воздушное приложение для клиента, и он хочет, чтобы изображения, которые вы импортируете, масштабировались до 650x650, когда вы их сохраняете, используя приведенный ниже код. Я попытался изменить значения, но когда изображение экспортируется какая-то часть отсутствует:Как масштабировать BitmapData AS3?
function menuItemClick1(event:Event):void{
var mat:Matrix = new Matrix();
mat.scale(2.0,2.0);
var bmpData:BitmapData = new BitmapData(this.template_mc.width * 2, this.template_mc.height * 2, false, 0xFFFFFF);
bmpData.draw(this.template_mc, mat);
var _bmp:Bitmap = new Bitmap(bmpData);
_bmp.smoothing = true;
//
imgBytes = PNGEncoder.encode(_bmp.bitmapData);
fs = new FileStream();
targetFile = File.desktopDirectory.resolvePath("icons/image.png");
targetFile.browseForSave("Save Your File");
targetFile.addEventListener(Event.SELECT, onSaveSelect);
}
Я попытался изменить к этому не повезло:
mat.scale(1.0,1.0);
var bmpData:BitmapData = new BitmapData(650,650, false, 0xFFFFFF);
Кроме того, если вы хотите, чтобы экспортированное растровое изображение было растянуто (то есть не равномерно масштабировано), вы можете сделать «mat.scale (650/template_mc.width, 650/template_mc.height)»; таким образом, все Результирующая битовая карта 650x650 будет содержать i Маг из MC, о котором идет речь, без каких-либо белых границ. – Vesper
Спасибо, оба они отлично работали. – lonewulf