Vai al contenuto
Leo

Libreria

Immagini

Aprire, ritagliare, ridimensionare e trasformare le immagini.

  • 37 voci
  • 3 voci con esempi eseguiti

Funzioni 10

apri_immagine(percorso)#

Apre una foto o un disegno (PNG, JPEG, GIF, WebP, BMP...) come immagine.

Le foto del telefono vengono raddrizzate da sole.

Esempiocontrollato con Leo
variabile foto = apri_immagine("gatto.jpg")stampa(foto.larghezza)

nuova_immagine(larghezza, altezza, colore = "bianco")#

Un'immagine nuova tutta di un colore.

Serve come foglio su cui disegnare. "trasparente" la fa trasparente (da salvare in PNG).

Esempioeseguito con Leo
variabile cartolina = nuova_immagine(400, 300, "azzurro")

immagine_da_pixel(righe, lato = 1)#

Disegno a quadretti da una lista di righe di colori.

Ogni riga è una lista di colori; nulla lascia il quadretto trasparente. lato è quanti pixel è grande ogni quadretto.

Esempioeseguito con Leo
immagine_da_pixel([["rosso", "bianco"], ["bianco", "rosso"]], lato = 20)

dimensioni_immagine(percorso)#

[larghezza, altezza] di un file immagine, senza aprirlo tutto.

Funziona con PNG, JPEG, GIF, BMP e WebP anche senza Pillow.

Esempioeseguito con Leo
variabile misure = dimensioni_immagine("foto.jpg")

collage(immagini, colonne = nulla, lato = 200, spazio = 10, sfondo = "bianco")#

Foto in una griglia.

Ogni foto entra in un quadrato di lato pixel; senza colonne la griglia è quasi quadrata.

Esempiocontrollato con Leo
collage(["mare.jpg", "monti.jpg", "lago.jpg"], colonne = 3).salva("vacanze.jpg")

gif_animata(immagini, percorso, durata = 0.5, ripeti = vero)#

Salva un'animazione GIF.

durata è quanti secondi resta ogni fotogramma; tutte prendono le misure della prima.

Esempiocontrollato con Leo
gif_animata(["passo1.png", "passo2.png", "passo3.png"], "cammina.gif", 0.2)

fotogrammi_gif(percorso)#

La lista delle immagini (fotogrammi) di una GIF animata.

Esempiocontrollato con Leo
per ogni f in fotogrammi_gif("cammina.gif") fai f.salva("fotogramma.png") fine

differenza_immagini(prima, seconda)#

Quanto sono diverse due immagini, da 0 (uguali) a 100.

Se hanno misure diverse la seconda viene adattata alla prima.

Esempiocontrollato con Leo
se differenza_immagini("prima.png", "dopo.png") > 5 allora stampa("È cambiato qualcosa!") fine

converti_immagini(cartella, destinazione, formato = "jpg", lato_massimo = nulla, qualita = 85)#

Tutte le foto.

Converte ogni foto di cartella nel formato e la mette in destinazione; con lato_massimo le rimpicciolisce. Restituisce la lista dei file creati.

Esempiocontrollato con Leo
converti_immagini("vacanze", "vacanze_piccole", "jpg", lato_massimo = 1280)

immagine_ascii(immagine, larghezza = 60, caratteri = " .:-=+*#%@")#

L'immagine disegnata con le lettere.

Restituisce un testo da stampare nel terminale; i caratteri vanno dal più chiaro al più scuro.

Esempiocontrollato con Leo
stampa(immagine_ascii("gatto.jpg", 50))

Oggetto «immagine»

Valore Leo di tipo immagine: un'immagine di Pillow (RGB/RGBA) o di :class:Pixel.

ProprietàSignificato
altezza
dimensioni
formato
larghezza
nome
trasparente

.ascii(larghezza = 60)#

L'immagine disegnata con le lettere (vedi immagine_ascii).

Esempiocontrollato con Leo
stampa(foto.ascii(40))

.bianco_e_nero()#

Toglie i colori e lascia i grigi.

Esempiocontrollato con Leo
apri_immagine("nonna.jpg").bianco_e_nero().salva("nonna_bn.jpg")

.capovolgi(direzione = "orizzontale")#

Specchia l'immagine ("orizzontale" o "verticale").

Orizzontale scambia destra e sinistra (come uno specchio), verticale alto e basso.

Esempiocontrollato con Leo
foto.capovolgi()foto.capovolgi("verticale")

.colore_pixel(x, y)#

Il colore del punto (x, y), come "#RRGGBB".

Esempiocontrollato con Leo
stampa(foto.colore_pixel(0, 0))

.colori_dominanti(quanti = 5)#

I colori più usati nell'immagine, dal più frequente.

Utile per scegliere i colori di un sito o di un disegno che stiano bene con una foto.

Esempiocontrollato con Leo
stampa(apri_immagine("tramonto.jpg").colori_dominanti(3))

.contorni()#

Un disegno a matita: linee scure dove l'immagine cambia, il resto bianco.

Esempiocontrollato con Leo
apri_immagine("casa.jpg").contorni().salva("da_colorare.png")

.contrasto(fattore)#

Più di 1 rende i colori più decisi, meno di 1 più slavati.

Esempiocontrollato con Leo
foto.contrasto(1.4)

.copia()#

Un'immagine nuova uguale a questa, da modificare senza toccare l'originale.

Esempiocontrollato con Leo
variabile piccola = foto.copia().miniatura(100)

.disegna_cerchio(x, y, raggio, colore = "nero", pieno = vero, spessore = 3)#

Un cerchio con centro (x, y).

Esempiocontrollato con Leo
stampa(foglio.disegna_cerchio(200, 150, 50, "giallo"))

.disegna_linea(x1, y1, x2, y2, colore = "nero", spessore = 3)#

Una linea da (x1, y1) a (x2, y2).

Esempiocontrollato con Leo
foglio.disegna_linea(0, 0, 400, 300, "blu", 5)

.disegna_rettangolo(x, y, larghezza, altezza, colore = 'nero', pieno = True, spessore = 3)#

Immagine.disegna_rettangolo(x, y, larghezza, altezza, colore = "nero", pieno = vero, spessore = 3).

Disegna un rettangolo con l'angolo in alto a sinistra in (x, y); pieno = falso fa solo il bordo.

Esempiocontrollato con Leo
foglio.disegna_rettangolo(20, 20, 100, 60, "#FF000080")

.filigrana(marchio, posizione = "basso_destra", opacita = 0.5)#

Firma o logo semitrasparente.

marchio è un testo (la tua firma) o un'immagine (un logo, rimpicciolito da solo); posizione: "alto_sinistra", "alto_destra", "basso_sinistra", "basso_destra" o "centro".

Esempiocontrollato con Leo
foto.filigrana("(c) Giulia 2026")foto.filigrana("logo.png", "alto_destra")

.imposta_pixel(x, y, colore)#

Colora un solo punto.

Esempiocontrollato con Leo
per ogni x in 0..99 fai foglio.imposta_pixel(x, 50, "rosso") fine

.incolla(altra, x = 0, y = 0, opacita = 1)#

Mette un'altra immagine sopra questa, in (x, y).

Le parti trasparenti dell'altra lasciano vedere sotto; opacita da 0 (invisibile) a 1 (piena).

Esempiocontrollato con Leo
foto.incolla(apri_immagine("logo.png").miniatura(80), 10, 10, 0.7)

.luminosita(fattore)#

Schiarisce (più di 1) o scurisce (meno di 1) l'immagine.

1 la lascia com'è, 1.5 è più chiara del 50%, 0.5 è scura a metà.

Esempiocontrollato con Leo
foto.luminosita(1.3)

.miniatura(lato = 128)#

Rimpicciolisce l'immagine perché entri in un quadrato di lato pixel.

Mantiene le proporzioni e non ingrandisce mai.

Esempiocontrollato con Leo
apri_immagine("foto.jpg").miniatura(200).salva("mini.jpg")

.negativo()#

Scambia chiari e scuri e ogni colore con il suo opposto.

Esempiocontrollato con Leo
foto.negativo()

.nitidezza(fattore = 2)#

Rende più netti i bordi (più di 1) o più morbidi (meno di 1).

Esempiocontrollato con Leo
foto.nitidezza(2.5)

.ridimensiona(larghezza, altezza = nulla, liscio = vero)#

Cambia le misure.

Senza altezza (o con larghezza = nulla) mantiene le proporzioni. liscio = falso tiene i quadretti netti (per il pixel art).

Esempiocontrollato con Leo
foto.ridimensiona(800)icona.ridimensiona(64, 64)

.ritaglia(x, y, larghezza, altezza)#

Tiene solo il rettangolo che parte da (x, y).

Esempiocontrollato con Leo
foto.ritaglia(100, 50, 300, 300)

.ruota(gradi, sfondo = "trasparente")#

Gira l'immagine in senso orario (come l'orologio).

Con angoli non multipli di 90 l'immagine si allarga e gli angoli si riempiono con sfondo.

Esempiocontrollato con Leo
foto.ruota(90)foto.ruota(-45, "bianco")

.salva(percorso, qualita = 90)#

Scrive l'immagine in un file; il formato viene dall'estensione.

.png, .jpg, .webp, .gif, .bmp, .tiff, .ico. qualita (1-100) conta per JPEG e WebP: più bassa = file più piccolo.

Esempiocontrollato con Leo
foto.salva("piccola.jpg", qualita = 70)

.saturazione(fattore)#

Colori più vivaci (più di 1) o più spenti (meno di 1; 0 = grigio).

Esempiocontrollato con Leo
foto.saturazione(1.5)

.scrivi_testo(testo, x = 10, y = 10, colore = 'nero', dimensione = 24, carattere = None, bordo = None)#

Immagine.scrivi_testo(testo, x = 10, y = 10, colore = "nero", dimensione = 24, carattere = nulla, bordo = nulla).

Scrive un testo con l'angolo in alto a sinistra in (x, y). carattere è il nome di un font (per

Esempiocontrollato con Leo
foto.scrivi_testo("Buon compleanno!", 30, 30, "giallo", 60, bordo = "nero")

.seppia()#

Colori marroncini come nelle foto antiche.

Esempiocontrollato con Leo
foto.seppia().salva("antica.jpg")

.sfoca(raggio = 3)#

Rende l'immagine sfocata; più grande il raggio, più sfocata.

Esempiocontrollato con Leo
foto.sfoca(8)

.sostituisci_colore(vecchio, nuovo, tolleranza = 30)#

Cambia un colore con un altro.

tolleranza (0-255) dice quanto può essere diverso un colore per essere cambiato anche lui: 0 solo quello esatto. Con nuovo = "trasparente" si toglie uno sfondo.

Esempiocontrollato con Leo
logo.sostituisci_colore("bianco", "trasparente").salva("logo.png")