Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: forceSmoothing

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178

    forceSmoothing

    Ciao a tutti!
    C'è un modo per verificare se il forceSmoothing ha completato il suo antialiasing?

    Mi spiego meglio:
    Io vorrei poter verificare che l'istruzione myMc.forceSmoothing = true abbia finito il suo compito e poter fare applicare un apparizione (tramite un tween) graduale del clip myMC contenente un'immagine caricata come file esterno.

    Attualmente io riesco a fare il contrario e cioè applico un tween che mi fa apparire lìimmagine e una volta che myMc ha alpha = 100, applico il forceSmooting.

    Grazie a tutti coloro che interverranno.
    Iohannes

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    La proprietà assume il valore che gli assegni immediatamente, non c'è un meccanismo che ti dica quando è successo, perchè succede in maniera istantanea. Cioè quando tu imposti il valore di quella variabile, la riga letta farà in modo che il nuovo valore sia assunto immediatamente.
    L'immagine che hai nel clip viene caricata dall'esterno o è già dentro al filmato?

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    L'immagine è caricata da fuori, anche perchè molto grande e dettagliata.
    Ho realizzato un sito in cui ho una gallery in cui le immagini si adattano in grandezza alla risoluzione del monitor.

    Se io applico contemporaneamente l'effetto della tween da alpha 0 a alpha 100 con il forcesmoothing, il sito mi si rallenta un casino, fino a che non ha completato la tween.

    Ecco perchè ho deciso di applicare lo smoothing solo quando l'alpha è arrivato a 100.

    A me servirebbe che l'immagine sia già ottimizzata dallo smoothing prima che sia apparsa e non il contrario.
    Iohannes

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Purtroppo lo smoothing appesantisce parecchio il rendering e mette a dura prova la cpu, e unire la cosa anche all'avvio di una tween non può far altro che peggiorare le prestazioni.
    L'applicazione dello smoothing non è un'azione, pertanto non genera un evento e perciò non è possibile catturare un momento da utilizzare per avviare altre azioni.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    Ok! Capito!
    Non fa nulla.

    Ma c'è un'altro metodo che aiuta a ottimizzare le immagini al meglio?
    Grazie ancora per il tuo prezioso aiuto And80!
    Iohannes

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Forse usando una copia dell'immagine caricata dall'esterno, con la classe BitmapData, si ruìiesce a fare qualcosina, ma non ti saprei dire con precisione, bisognerebbe provare.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    Una copia dell'immagine?

    Mi faresti un esempio pratico?
    Grazie
    Iohannes

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Sì, anche se riflettendoci un po', sarebbe più efficace se usato con codice AS3.

    Comunque banalmente, si carica l'immagine usando un preload, nel nostro caso usiamo MovieClipLoader e poi ci serve un clip vuoto su cui "incollare" l'immagine copiata, attraverso "attachBitmap" che tra i parametri contiene un booleano che imposta lo smoothing
    ti faccio un esempio integrale (lo provi dentro un filmato vuoto)

    Codice PHP:
    import flash.display.BitmapData;
    var 
    j:String "image.jpg";
    var 
    l:Object = new MovieClipLoader();
    var 
    m:MovieClip this.createEmptyMovieClip("m"this.getNextHighestDepth());
    var 
    c:MovieClip this.createEmptyMovieClip("c"this.getNextHighestDepth());
    l.onLoadInit = function (t:MovieClip) {
        var 
    d:BitmapData = new BitmapData(t._widtht._height);
        
    d.draw(t);
        
    c.attachBitmap(d1"auto"true);
        
    t.removeMovieClip();
    }
    l.loadClip(jm); 

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    178
    Mi funziona il caricamento dell'immagine.
    Ma lo smoothing non lo fa.
    Le immagini caricate da esterno sono più piccole (in pixel) della risoluzione del monitor.
    Cerco di forzare le dimensioni prima o dopo aver applicato attachBitmap?
    Iohannes

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Non so come l'hai applicato, ma ricorda che il clip interessato diventerà quello su cui esegui l'attachBitmap.

    >>Le immagini caricate da esterno sono più piccole (in pixel) della risoluzione del monitor.
    >>Cerco di forzare le dimensioni prima o dopo aver applicato attachBitmap?

    Le immagini sono indipendenti dallo schermo e la copia bitmap viene fatta sul clip che contiene l'immagine caricata dall'esterno, quindi non c'è bisogno di forzare nulla, anzi le dimensioni devono essere proprio quelle originali dell'immagine perchè la cosa funzioni correttamente, non ho capito perchè devi "forzarle".

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.