Ho usato queste poche righe di PHP per creare delle versioni ridotte delle immagini quando queste vengono caricate sul mio sito, ma purtroppo queste vengono create con delle strane colorazioni:
imagecreate() soffre di alcune limitazioni se usata con immagini con un numero di colori superiore a 256, puoi provare ad usare imagecreatetruecolor(), ma attenzione, questa funzione se usata per trattare immagini molto grandi può portare gravi problemi di performances, è quindi consigliabile usare un meccanismo simile a quello presente in questo script, in cui le immagini sono ridimensionate solo una volta eviene mantenuto il file per ogni altra visualizzazione.