2010-06-23 4 views
2

Я создаю сайт портфолио, который динамически загружает большие приветственные изображения, когда пользователь нажимает на thumnail. Однако у меня возникают проблемы с сохранением качества исходного изображения при его изменении в соответствии с текущим браузером.Изменение размера изображения с использованием as3

В настоящее время я просто корректирую ширину & Свойства высоты изображения до ширины до стадии пропорционально, которая работает нормально, чтобы она соответствовала, но я не могу понять, как сохранить качество изображения? Нужно ли загружать его как растровое изображение, перерисовать/гладко или что-то подобное?

Это соответствующий код, который я в настоящее время с помощью:

var req:URLRequest = new URLRequest("images/101.jpg"); 
var loader:Loader = new Loader(); 

var widthRatio:Number; 
var heightRatio:Number; 

function imageLoaded(e:Event):void 
{ 
//add image to stage 
addChild(loader); 


// resize proportionally 
if (loader.width > stage.stageWidth){ 
    widthRatio=loader.width/stage.stageWidth; 
    trace(widthRatio) 
    trace(loader.width); 
} 
if (loader.height > stage.stageHeight){ 
    heightRatio=loader.height/stage.stageHeight; 
    trace(heightRatio) 
    trace(loader.height) 
} 

if (widthRatio > heightRatio){ 
    loader.width = stage.stageWidth; 
    loader.height = loader.height/widthRatio; 
} else { 
    loader.height = stage.stageHeight; 
    loader.width = loader.width/heightRatio; 
} 

//centre on stage 
loader.x=stage.stageWidth/2 - loader.width/2; 
loader.y=stage.stageHeight/2 - loader.height/2; 

} 

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded); 
loader.load(req); 

ответ

6

Посмотрите Bitmap smoothing.

Ваш Loader будет иметь content property, который будет Bitmap. Установите значение smoothing в true.

function imageLoaded(e:Event):void 
{ 
    //add image to stage 
    addChild(loader); 
    Bitmap(loader.content).smoothing = true; 

    // ... 

Это делает изображение немного размытым, но в большинстве случаев это значительное улучшение.

+0

подумал, что, должно быть, было простое исправление для этого, похоже, не могло найти его нигде. Спасибо! – swanny

+0

ha еще одна причина, почему я действительно ненавижу вспышку – samccone

Смежные вопросы