Smoothing af externe billeder i UILoader

Forums: 

Fra MadsViktor

 

Hey!

Er der en måde at sætte smoothing på externe billeder der bliver hentet ind - f.eks. i UILoaderen?

Jeg har prøvet med smoothing=true, men den virker ikke - ej heller når jeg bruger en på URLLoaderen.

Mads.

 

Det er fordi smoothing er en egenskab hos klassen Bitmap()

For at få det til at virke skal du "caste" det hentede billede som et bitmap objekt. Prøv at skrive noget i stil med:

Bitmap(minLoader.content).smoothing = true;

Jeg har vedhæftet et mere udførligt eksempel i en zip-fil. Den overfører indholdet af billedet til et Bitmap objekt. Dette giver dig endnu flere muligheder med billedet - meeen, løsningen ovenfor er mere quick 'n dirty :)

Koden i den vedhæftede fil ser således ud:

//Opret vriabler til request og to loadere
var req:URLRequest = new URLRequest("image120.gif");
var loader1:Loader = new Loader();
var loader2:Loader = new Loader();

//Tilføj handlers til loadere, der aktiveres når billedet er hentet.
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader1Complete);
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoader2Complete);

function onLoader1Complete(e:Event):void {
//Overfør indholdet af loaderen til et bitmap objekt
var bm:Bitmap = Bitmap(loader1.content);

//Sæt smoothing til true og skaler til 200%;
bm.smoothing = true;
bm.scaleX = 2;
bm.scaleY = 2;

//Tilføj til Display List
addChild(bm);
}

function onLoader2Complete(e:Event):void {
//Skaler til 200% of flyt 240 pixels til højre
loader2.scaleX = 2;
loader2.scaleY = 2;
loader2.x = 250;
//Tilføj til Display List
addChild(loader2);
}

//Begynd hentning af billeder
loader1.load(req);
loader2.load(req);

Håber det hjalp

Fra MadsViktor

 

Hey, tak for hjælpen - jeg fandt til sidst også frem til at droppe UILoaderen og gøre det på den måde du beskriver :)

Thanks yous,

Mads.

 

P'fekt.

Du burde kunne bruge den samme teknik på UILoaderen, da den egentlig bare er en komponent udgave af Loader objektet, men en programmeret loader er meget lettere i kb