Inizialmente disegnavo un rettangolo per volta (riempito di pixel di colore bianco) nell'ordine in cui le coordinate sono elencate nei vari files dello zip, calcolando contemporaneamente il colore del suo contorno (un pixel era di colore rosso o verde se soddisfava o meno la condizione di "essere perimetro").
Tuttavia in questo modo il programma sbagliava il calcolo esatto del perimetro di pochi pixel in qualche test, così ho deciso di provare a disegnare prima tutti i rettangoli riempiti di pixel di colore bianco e il loro contorno di pixel di colore verde, e solo dopo controllare se i pixel di colore verde erano parte del perimetro (e quindi dovevano essere rossi).
Non è il massimo in termini di efficienza, ma il risultato ottenuto con questa implementazione è molto buono.