2010-06-23 4 views
2

Je construis un site portfolio qui charge dynamiquement de grandes images haute résolution lorsque l'utilisateur clique sur un thumnail. Cependant, j'ai des problèmes pour conserver la qualité de l'image originale lorsque je la redimensionne pour l'adapter au navigateur actuel.Redimensionnement de l'image en utilisant as3

Actuellement, je suis juste en ajustant la largeur & propriétés de hauteur de l'image à la largeur de la scène proportionnellement qui fonctionne bien pour l'adapter, mais je ne peux pas comprendre comment maintenir la qualité de l'image? Ai-je besoin de le charger en tant que bitmap et redessiner/lisse ou quelque chose de similaire?

Ceci est le code approprié que je suis actuellement en utilisant:

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); 

Répondre

6

Jetez un oeil à Bitmap smoothing.

Votre Loader aura un content property qui sera un Bitmap. Définissez smoothing sur true. Cela rend l'image un peu floue mais c'est une amélioration significative dans la plupart des cas.

+0

pensé qu'il doit y avoir eu une solution simple pour cela, ne pouvait pas sembler trouver n'importe où cependant. Je vous remercie! – swanny

+0

ha une autre raison pour laquelle je déteste vraiment flash – samccone

Questions connexes