In questo video spiegheremo come scrivere una funzione in Jython per ottenere l’effetto blend, ovvero da un immagine iniziale far apparire un altra immagine miscelando i colori.
Effetto Blend
Iniziamo col dichiarare staticamente, le due immagini che ci interessano, le dichiariamo in questo modo fuori dalla funzione perchè ci rimane più comodo in fase di sviluppo, senza dover andare sempre a cercare la cartella in cui sono nascoste. Supponiamo ovviamente che le due immagini abbiano la stessa dimensione per ottenere un risultato migliore.
Ora definiamo la funzione principale showBlend() a cui andremo ad assegnare le due immagini in questione come parametri.
A questo punto creiamo il canvas vuoto tramite la funzione makeEmptyPicture() impostando le sue dimensioni in base alle dimensioni delle due immagini dichiarate inizialmente.
Una volta creato il canvas lo possiamo riempire chiamando in causa un ciclo for in cui inseriremo un range che va da 0 fino al fattore di miscelazione massimo, ed uno step che determinerà la velocità con la quale il programma farà l’effetto blend; ad ogni ciclo useremo poi la funzione blendPictures() che spiegheremo tra poco. Alla fine di showBlend, interno al ciclo for metteremo un repaint in modo da vedere passo-passo tutte le modifiche che verranno fatte alla foto.
Vediamo ora come fare la funzione che miscela i colori fino a sostituire l’intera immagine con un’altra. Definiamo intanto la funzione blendPictures() assegnandole come parametri le due immagini, il fattore di miscelazione ed il canvas vuoto creato in precedenza.
Per assicurarci di prendere tutti i pixel della prima immagine faremo due cicli for annidati, il più esterno per l’asse delle x per tutta la larghezza della foto, il più interno per l’asse delle y per tutta l’altezza della foto. Poi salviamo ogni pixel preso durante i cicli in due variabili pix1 e pix2 e tutti i pixel del canvas vuoto. A questo punto creiamo delle variabili per i nuovi colori servendoci del fattore di miscelazione e le andremo ad inserire nella variabile color e poi andremo a sostituire tutti i colori tramite setColor().
Spero di essere stato abbastanza chiaro nella spiegazione dell’effetto blend, per qualsiasi domanda, chiarimento o suggerimento potete lasciare dei commenti di seguito. Potete anche vedere gli articoli precedenti dedicati a JES andando a questo link JYTHON
Se vi è piaciuto questo video mettete mi piace sul canale youtube!!! :)
Se ti è piaciuto questo articolo o ti è stato utile in qualche modo, lascia un commento, condividilo con i tuoi amici e seguimi sui social.