ridimensionare
-resize 400x300+20+30
(come la -scale
e -sample
esempi 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
:
-resize
supporta 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 400x300
crea 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 Lanczos
quale è 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 point
prodotta (che utilizza il più vicino regola del vicino per determinare il colore di un pixel appena aggiunto).
campione
-sample 400x300
converte 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
:
-sample
non supporta l'impostazione aggiuntiva di -filter
; se impostato comunque, -filter
viene 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 -sample
non 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
-resample
utilizza come parametro la XxY
risoluzione desiderata , non la geometria dei XxY
pixel 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 -density
sulla riga di comando prima di specificare la -resample
risoluzione.
scala
-scale 400x300
produce il risultato equivalente (ma è più veloce, perché evita tutta l'elaborazione del filtro) come fa usando -filter box -resize 400x300
. Inoltre ignora completamente qualsiasi -filter
impostazione 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 400x300
non supporta (o ignora, se impostato) la parte offset di un parametro di geometria e ignora anche l' -gravity
impostazione 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
-thumbnail
funziona proprio come -resize
fa, con alcune differenze:
La risposta seguente mostra alcuni esempi (illustrati!) Della -resize
direttiva. Ogni illustrazione mostra un risultato diverso, a seconda dei "dettagli precisi" del metodo di ridimensionamento esatto: