PDA

Просмотр полной версии : красивый ресайз картинок


suburbandev
20.10.2007, 12:24
проблема такова.
при загрузке картинок использую movieClipLoader, на событии loadInit
делаю ресайз так, чтобы изображение было не больше допустим 800 по горизонтали и 600 по вертикали.

делаю с помощью _xscale и _yscale.в итоге появляется так называемый эффект distorting

есть ли способ от него избавиться кроме как подготавливать картинки соответствуюшего разрешения.

извините если опять ошибся форумом

etc
20.10.2007, 14:24
ZOOM:
http://etcs.ru/files/zoom.png

suburbandev
20.10.2007, 15:12
угу, только ничего подобного не нашел


import flash.display.*;

function loadBitmapSmoothed(url:String, target:MovieClip) {
// Create a movie clip which will contain our
// unsmoothed bitmap
var bmc:MovieClip = target.createEmptyMovieClip(
"bmc",
target.getNextHighestDepth());

// Create a listener which will notify us when
// the bitmap loaded successfully
var listener:Object = new Object();

// Track the target
listener.tmc = target;

// If the bitmap loaded successfully we redraw the
// movie into a BitmapData object and then attach
// that BitmapData to the target movie clip with
// the smoothing flag turned on.
listener.onLoadInit = function(mc:MovieClip) {
mc._visible = false;

var bitmap:BitmapData = new BitmapData(
mc._width,
mc._height,
true);

this.tmc.attachBitmap(
bitmap,
this.tmc.getNextHighestDepth(),
"auto",
true);

bitmap.draw(mc);
};

// Do it, load the bitmap now
var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener(listener);
loader.loadClip(url, bmc);
}



http://www.kaourantin.net/2005/12/dynamically-loading-bitmaps-with.html

etc
20.10.2007, 15:24
http://zaynutdinoff.livejournal.com/3331.html

suburbandev
21.10.2007, 07:16
неоптимально

etc
21.10.2007, 12:36
В девятом плеере для AS2 работает forceSmoothing.
В остальных случаях других вариантов нет.

suburbandev
21.10.2007, 17:36
В девятом плеере для AS2 работает forceSmoothing.
В остальных случаях других вариантов нет.

где? в смысле как его использовать.

я читал в блоге что его еще до сих пор не сделали.

у меня flash 9 но никаких упоминаний о нём нет.

попробовал MovieClip.forceSmoothing - не работает

wvxvw
21.10.2007, 19:38
http://www.kxcad.net/image_Adobe_Flash_ActionScript_Language_Reference_V2/00001912.html
это булевая величина, чтобы "было красиво" нужно в тру флаг перевести.

suburbandev
22.10.2007, 08:38
понятно. спасибо.

кстати забыл что я рендерю для 8го плеера. наверно не будет работать.

etc
22.10.2007, 10:30
В девятом плеере будет работать. В восьмом — нет.