Domanda

Ho un piccolo script che uso per ridimensionare tutte le immagini in una directory. Eseguo questo script in cygwin e utilizza " convert " per ridimensionare l'immagine. Le immagini cambiano bene la loro risoluzione, ma ho problemi con le dimensioni dei file dopo l'esecuzione dello script.

In genere utilizzo questo script per ridimensionare le immagini scaricate da una presentazione di Powerpoint da utilizzare in una piccola app di presentazione Web che ho scritto. Quando eseguo il download di GIF ed eseguo lo script, i file hanno dimensioni più che doppie (es. Da 8 KB a 18 KB; da 14 KB a 50 KB)

Le righe pertinenti dello script sono le seguenti:

/usr/bin/convert $holdfile -thumbnail x480 temp.GIF
mv temp.GIF $i

C'è un interruttore per impedire che le dimensioni del file crescano così tanto? So che le dimensioni dei file non sono enormi, ma quando ho un buon numero di persone che si collegano a una presentazione o agli inevitabili utenti dialup, voglio solo rendere la loro esperienza il più piacevole possibile.

Modifica: avrei dovuto specificare che i file iniziano con una risoluzione di 960 px x 720 px e vengono ridimensionati a 640 px x 480 px.

È stato utile?

Soluzione

Bene, questo può accadere se la conversione comprime peggio dei file di input. Poiché lo stesso identico schema di compressione potrebbe produrre risultati diversi a seconda della validità del codice di compressione, ciò può accadere.

Un'altra opzione, più probabile, qui sarebbe probabilmente che stai ridimensionando le immagini che probabilmente verranno fatte con il ridimensionamento bicubico. Questo fa sì che i bordi del testo o dei disegni diventino un po 'sfocati. Ciò significa che usano più colori e comprimono peggio.

Probabilmente sarebbe anche che le tue immagini originali utilizzino una tavolozza di colori ottimizzata, forse solo con alcuni colori e dopo il ridimensionamento hanno bisogno di tutti i 256 colori che sono supportati da un singolo frame GIF, a causa del livellamento effettuato dal ridimensionamento.

In ogni caso, probabilmente dovresti vedere prestazioni migliori usando PNG invece di GIF. PNG è stato progettato come un moderno rimpiazzo per GIF e nessun browser (grafico) in uso oggi presenta problemi nella visualizzazione di PNG (senza canale alfa). PNG si comprime molto meglio di GIF e consente più colori contemporaneamente. Inoltre ci sono strumenti come optipng che comprime ulteriormente le immagini PNG.

Altri suggerimenti

Converti ottimizza automaticamente la tavolozza, tuttavia la tavolozza potrebbe aumentare a causa della fusione dei colori durante il ridimensionamento. Dovresti essere in grado di ispezionare la fonte e le immagini risultanti in un programma di grafica e vedere il numero di colori.

GIF supporta solo la compressione LZW ma a causa delle restrizioni sui brevetti che sono scadute (l'ultima era il 2004), una volta era necessario abilitare manualmente la compressione LZW. Non sono sicuro che sia ancora così, ma vale la pena esaminarlo.

  

Se si specifica la compressione LZW ma   La compressione LZW non è stata abilitata,   i dati dell'immagine sono scritti in un   formato LZW non compresso che può essere   letto dai decodificatori LZW. Ciò può comportare   in file GIF più grandi del previsto.   - imagemagick.org

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top