SWiSH Forum
Forum użytkowników programów SWiSH

Tutoriale - load image i smoothing, czyli ładowanie i wygładzanie zdjęć

espe1 - Wto 08 Lis, 2011 10:55
Temat postu: load image i smoothing, czyli ładowanie i wygładzanie zdjęć
Widzę, że to najczęstszy problem na tym forum, a jest na to perfekcyjny skrypt, który wygładza ładowane zdjęcia.

1. Tworzymy pustego Movie Clipa, najprościej przez: Insert Movie Clip
2. Wstawiamy do naszego Movie Clipa skrypt:

Kod:


onSelfEvent (load) {
import flash.display.BitmapData;
import flash.geom.Matrix;
function myCopy(pic) {
var mc = this.createEmptyMovieClip('mc', this.getNextHighestDepth());
var bmp = new flash.display.BitmapData(loadListener.myWidth, loadListener.myHeight, true, 0xFFFFFF);
bmp.draw(pic);
this.picparent.container.attachBitmap(bmp,0,null,true);
this.picparent._rotation = 0; //możliwość obrotu zdjęcia np. 30 (w prawo) lub -30 (w lewo)
}
this.createEmptyMovieClip('temploader', this.getNextHighestDepth());
this.createEmptyMovieClip('picparent', this.getNextHighestDepth());
picparent.createEmptyMovieClip('container', this.getNextHighestDepth());
var loadListener:Object = new Object();
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
loadListener.onLoadStart = function(target_mc:MovieClip):Void {
target_mc._alpha=0;
}
loadListener.onLoadInit = function(target_mc:MovieClip):Void  {
this.myWidth = target_mc._width;
this.myHeight = target_mc._height;
myCopy(temploader);
};
function preload(myClip) {
mcLoader.loadClip(myClip,temploader);
}
preload("http://aux3.iconpedia.net/uploads/69290979.png"); //adres obrazka z sieci lub lokalny
}


I drugi skrypt, też działa ale troszkę mniej wygładza.
1. Tworzymy nowego Movie Clipa i nazywamy go mc
2. w scenie 1 wstawiamy skrypt:

Kod:


onFrame (1) {
    mc.loadMovie("http://aux3.iconpedia.net/uploads/69290979.png"); //adres obrazka z sieci lub lokalny   
}
onFrame (3) {
    if (mc.getPercentLoaded() == 100) {
        var bmp=new flash.display.BitmapData(this.mc._width,this.mc._height, true, 0x000000);
        this.mc.attachBitmap(bmp,this.mc.getNextHighestDepth(),"auto",true);
        bmp.draw(this.mc); 
        stop();
    }else{
        prevFrameAndPlay();
        }   
}


Dodam tylko, że komendy:

Kod:

mc.forcesmoothing = true
mc._quality="BEST"


nie działają!!!

Januszr - Wto 08 Lis, 2011 13:16

Dzięki.
Jeszcze warto naskrobać co by allow domain pozamieniać albo skorzystać z tego:

System.security.allowDomain("http://aux3.iconpedia.net")

Ale to to już drobiazg...


Powered by phpBB modified by Przemo © 2003 phpBB Group