Errore nel salvataggio di un immagine

D
Dammy The Mountain (740 points)
8 30 37
asked Nov 19, 2017 in Es3 by Dammy The Mountain (740 points)
closed Nov 20, 2017 by andrea.sterbini
Io ho svolto il terzo esercizio,, provando funzione per funzione, ed ha successo. Ma quando lo utilizzo dalla funzione ricolora dove c'è anche il save mi da un errore di salvataggio. Sapreste darmi una mano?

Traceback (most recent call last):
  File "C:\Users\damia\Desktop\es3\png.py", line 1180, in from_array
    info['height'] = len(a)
TypeError: object of type 'NoneType' has no len()

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    ricolora('I1.png',[(10,10,rosso,blu)],'test1.png')
  File "C:\Users\damia\Desktop\es3\program03.py", line 57, in ricolora
    save(img, fnameout)
  File "C:\Users\damia\Desktop\es3\immagini.py", line 30, in save
    pngimg = png.from_array(img,'RGB')
  File "C:\Users\damia\Desktop\es3\png.py", line 1182, in from_array
    raise Error("len(a) does not work, supply info['height'] instead.")
png.Error: Error: len(a) does not work, supply info['height'] instead.
158 views
closed with note: answered

1 Answer

Neo (6720 points)
6 27 37
answered Nov 19, 2017 by Neo (6,720 points)
Ciao! Da quel che leggo stai usando il metodo len() su una variabile NoneType sei sicuro di averla passata come risultato di una funzione? Questo errore si genera spesso se andiamo a modificare una variabile passata precedentemente come argomento e poi nel "return" non la ripassiamo come risultato! Se non ripassata essa infatti non sarà innanzitutto modificata e genererà quella tipologia di errore se utilizzata! Seppur questa mia spiegazione sia molto "generica" spero di averti dato una mano avendo di fatti riscontrato anch'io questa tipologia d'errore :D