ridimensionare
-resize 400x300+20+30(come la -scalee -sampleesempi di seguito) converte un input a un'immagine di uscita che ha le dimensioni di pixel 400x300. Inoltre, sposta l'output di 20 pixel a destra e di 30 pixel in basso. Inoltre, ci sono alcune altre differenze tra -scale:
-resizesupporta un'impostazione aggiuntiva di -filter(che dovrebbe verificarsi sulla riga di comando prima dell'uso -resize!).
-filter determina l'esatto algoritmo da utilizzare per i colori dei pixel aggiunti in caso di ingrandimento, o per i colori da utilizzare per i pixel rimanenti quando alcuni dei loro vicini vengono rimossi in caso di minimizzazione.
Per un elenco dei filtri supportati, eseguire semplicemente convert -list filter.
-filter point -resize 400x300crea esattamente lo stesso risultato di -sample 400x300, ma funziona ancora un po 'più lentamente.
Se non impostato accanto (prima) -resize, la conversione verrà automaticamente impostata su -filter Lanczosquale è più lenta, ma che genera una qualità molto migliore (perché tiene conto dei colori di tutti i pixel circostanti per quelli appena aggiunti) rispetto a quella -filter pointprodotta (che utilizza il più vicino regola del vicino per determinare il colore di un pixel appena aggiunto).
campione
-sample 400x300converte un'immagine di input in un'immagine di output che ha le dimensioni in pixel di 400x300. Tuttavia, ci sono alcune differenze molto importanti per -resize:
-samplenon supporta l'impostazione aggiuntiva di -filter; se impostato comunque, -filterviene semplicemente ignorato.
Durante l'ingrandimento (poiché la dimensione dell'immagine in ingresso potrebbe essere inferiore a 400x300), i pixel vengono replicati in blocchi.
Durante la minimizzazione (poiché la dimensione dell'immagine in ingresso può essere maggiore di 400x300), i pixel vengono sottocampionati con un algoritmo molto semplice: alcune righe e colonne vengono semplicemente saltate.
L' argomento della geometria su -samplenon supporta alcuna parte offset (a differenza di -resize, che rispetta le direttive offset per l'output).
L'output non avrà mai più (diversi) colori rispetto all'immagine in ingresso; potrebbe avere meno colori però.
Pertanto -sampleè molto veloce (più veloce di -resize), ma la qualità dell'output è (di solito) peggiore: puoi facilmente ottenere effetti di blocco e alias estremi nell'output risultante.
Una caratteristica importante di -sampleè che la nuova immagine non conterrà nuovi colori, sebbene alcuni colori dell'immagine originale potrebbero scomparire.
ricampionare
-resampleutilizza come parametro la XxY risoluzione desiderata , non la geometria dei XxYpixel dell'immagine di destinazione. Lo scopo di questo operatore è preservare le dimensioni di rendering di un'immagine: supponiamo che la tua immagine misuri 4 pollici per 3 pollici su un dispositivo che la esegue il rendering a 300 DPI. Quindi chiedere un o ridimensionerà l'immagine in modo che misuri (di nuovo) 4 pollici per 3 pollici su un dispositivo a 72 DPI.-resample 72-resample 72x72
Questa operazione funziona solo per tali immagini che hanno già una risoluzione desiderata memorizzata nei loro metadati (non tutti i formati di immagine supportano il concetto di una risoluzione di immagine - JPEG, PNG e TIFF lo fanno).
Se l'immagine di origine è in un formato in cui manca il supporto interno per una risoluzione dell'immagine, la risoluzione originale (presunta) dell'immagine deve essere specificata tramite -densitysulla riga di comando prima di specificare la -resamplerisoluzione.
scala
-scale 400x300produce il risultato equivalente (ma è più veloce, perché evita tutta l'elaborazione del filtro) come fa usando -filter box -resize 400x300. Inoltre ignora completamente qualsiasi -filterimpostazione corrente .
Durante la minimizzazione, cambia la dimensione dell'immagine semplicemente sostituendo i colori dei pixel calcolando la media dei rispettivi colori dei pixel di input insieme.
Durante l'ingrandimento, replica semplicemente i rispettivi pixel di input per i pixel aggiuntivi richiesti.
ridimensionamento adattivo
-adaptive-resize 400x300non supporta (o ignora, se impostato) la parte offset di un parametro di geometria e ignora anche l' -gravityimpostazione se presente.
- Utilizza per impostazione predefinita la triangolazione dipendente dai dati durante il ridimensionamento (a meno che il metodo di ridimensionamento non venga sovrascritto specificando ulteriormente
-filter [something]).
miniatura
-thumbnailfunziona proprio come -resizefa, con alcune differenze:
La risposta seguente mostra alcuni esempi (illustrati!) Della -resizedirettiva. Ogni illustrazione mostra un risultato diverso, a seconda dei "dettagli precisi" del metodo di ridimensionamento esatto: