Java House
Crovatto - JcResizer
Italiano     English

JcResizer Versione 1.2.0

Dicembre 2008, by Crovy

JcResizer è un software che permette il ridimensionamento in batch delle fotografie digitali. Ho sempre usato l'ottimo, e gratuito, IrfanView, ma questo funziona solo con Windows, ed avendo ormai definitivamente adottato Linux sentivo la mancanza di un prodotto simile (ovviamente ci sono già programmi che fanno le stesse cose per Linux, ma di così versatili come IrfanView non ne ho trovati), così mi sono messo a farlo in Java, in modo da poterlo utilizzare con qualsiasi sistema operativo presente e futuro.

Perché ridimensionare le foto? Ci sono tanti motivi per farlo, principalmente per quando si vogliono inviare per e-mail a qualche amico.

Forse non ci si rende conto, ma inviare solamente dieci foto significa almeno dieci mega byte di dati, e se il destinatario della e-mail non ha l'ADSL è destinato ad attendere un sacco di tempo per vedere queste dieci foto, inoltre molte caselle di posta non accettano nemmeno una e-mail di tali dimensioni.

Per risolvere questi problemi basta ridimensionare le foto ad una risoluzione di 800x600 pixel (600x800 se verticale) e impostare il parametro della "qualità" a non più di 75 per ottenere un ottimo compromesso tra qualità e dimensioni del file (circa 10 volte inferiore all'originale).

Ad esempio una foto fatta con una, ormai obsoleta, fotocamera da 4 Mega Pixel (2288x1712 pixel) alla massima qualità genera un file di circa 1300KB (1,3MB), convertito ad 800x600 con qualità 75 il file diventa da 113KB circa. Impostando la qualità a 65 il file diventa da 97KB circa e la qualità è ancora ottima per vedere le foto a video, certo, se dovete inviarle per farle stampare il discorso cambia, ma se lo scopo è quello di vedere le foto a video è assolutamente consigliato ridimensionarle!

Altro motivo forse ancora più attuale rispetto al precedente (considerando l'alta diffusione delle linee ADSL) è quello di masterizzare le foto su un cd per poi vederle attraverso un comune lettore DVD da tavolo. Bene, ridimensionandole oltre ad avere molte più foto su un solo CD migliorerete notevolmente i tempi di lettura delle foto ottenendo una presentazione ancora più dinamica e fluida.

Volete vedere le foto sul cellulare o sul palmare, ridimensionatele, le vedrete con maggiore velocità!

Le principali caratteristiche sono:

  • Ridimensionamento indicando il lato lungo della foto, questo non costringe a dover ridimensionare prima le foto orizzontali e poi quelle verticali;
  • Opzione per non ridimensionare la foto se la risoluzione risulta inferiore ad un valore da voi stabilito (in pixel);
  • Opzione per non ridimensionare la foto se il file risulta inferiore ad un valore da voi stabilito (in Kb);
  • Opzione per preservare le informazioni Exif;
  • Opzione per mantenere data e ora della foto originale;
  • Scansione delle sottodirectory;


Non è neccessaria alcuna procedura di installazione, basta estrarre il file jar dall'archivio compresso ed eseguirlo.



Richiede J2SE 5.0 (versione 1.5) o superiore, non sono supportate le versioni inferiori.



Non è attualmente previsto un manuale, di seguito riporto una breve spiegazione sul funzionamento e sui parametri da impostare. Vista la semplicità del programma credo siano sufficienti.



Scarica JcResizer 1.2.0

Breve guida sull'uso del programma

Dicembre 2008, by Crovy



Schermata Principale



JcResizer



Come potete vedere dall'immagine, la schermata principale racchiude praticamente tutte le funzionalità e le impostazioni necessarie per un corretto utilizzo.

Al momento potrebbe sembrare complesso, ma non spaventatevi, l'utilizzo è molto semplice, basta seguire questi semplici passaggi:

  • Selezionare la cartella contenente le foto da ridimensionare.

    Se volete aggiungere una foto alla volta potete fare un doppio click direttamente sul nome del file della foto oppure selezionate il nome del file e poi premente il pulsante Add.

    Se invece volete aggiungere tutte le foto presenti nella cartella selezionata basta premere il pulsante Add All

    Abilitando l'opzione Include subdirectories, quando premete il pulsante Add All vengono selezionate automaticamente anche tutte le foto presenti nelle eventuali altre cartelle contenute nella cartella che avete selezionato evitandovi così di selezionarle manualmente;

    Qualunque sia il metodo scelto vedrete i nomi dei file delle foto aggiungersi nell'elenco delle foto da ridimensionare.

    Potete ripetere questa operazione anche selezionando una nuova cartella di origine in modo da effettuare una solo operazione di convesione.

    Se vi siete sbagliati a selezionare una foto potete rimuoverla dall'elenco semplicemente selezionandola, nell'elenco, e premendo il pulsante Remove oppure Remove All per cancellare completamente l'elenco delle foto da ridimensionare.
  • Ora che avete compilato l'elenco delle foto da ridimensionare bisogna decidere dove salvare le foto ridimensionate.

    Il consiglio è quello di usare sempre una cartella diversa da quella originale .... per evitare brutte sorprese!

    Per prevenire questa situazione è prevista una opzione, normalmente disabilitata, per sovrascrivere volutamente le foto originali (la vedremo dopo).

    Quindi state tranquilli, con le impostazioni di base il programma non sovrascrive le foto originali.

    Ha senso usare la stessa cartella se avete precedentemente creato una cartella contenente una selezione di foto da inviare agli amici o da masterizzare per vederle sul lettore DVD di casa;
  • A questo punto non ci rimane che impostare i parametri per il ridimensionamento e le eventuali opzioni. Vi ricordo che tutti i parametri che adesso andiamo ad impostare possono essere salvati in modo da poterci creare una differente configurazione per ogni esigenza da ricaricare molto velocemente.





Parametri - Ridimensionamento



JcResizer



Vediamo in dettaglio i parametri che definiscono il ridimensionamento:

  • L'opzione "Resize" serve per specificare la volontà di ridimensionare la foto, quindi di diminuire la risoluzione.

    Voi direte, ma il programma non serve per questo? Certo, ma volendo si potrebbe decidere di non cambiare la risoluzione ma solo il livello di compressione (che vedremo dopo).

    Per il nostro scopo lasciamo selezionata questa opzione;
  • Seguono tre opzioni, esclusive, per determinare il ridimensionamento delle foto. Perché tre opzioni? Per avere la massima flessibilità e semplicità di utilizzo. Vediamole in dettaglio:
    • "Set both sides to:" ci permette di definire liberamente in numero di pixel sia in altezza che in larghezza quindi con il chiaro intento di deformare l'immagine usando un rapporto differente tra altezza e larghezza. Vi ricordo che questo modo di definire il ridimensionamento è quello più utilizzato nei programmi "semplici", ma è anche quello più scomodo da usare (se non si vuole deformare l'immagine) in quanto ci obbliga a calcolare il numero di pixel in base al rapporto larghezza/altezza e sopratutto ci obbliga a differenziare il ridimensionamento per foto verticali e per quelle in orizzontale!

      Questa opzione normalmente non si usa;
    • "Set long side to:" ci permette di definire il numero di pixel del solo lato lungo della foto, quindi con il vantaggio di non dover calcolare il lato corto e sopratutto di non dover distinguere tra le foto in verticale e quelle in orizzontale.

      Questa è l'opzione più utilizzata, almeno personalmente;
    • "Set short side to:" ci permette di definire il numero di pixel del solo lato corto della foto.

      E' analoga all'opzione precedente, solo che viene definito il lato corto.
  • Vi faccio notare che il numero di pixel è molto legato al dispositivo utilizzato per la visualizzazione delle foto.

    La cosa migliore sarebbe quella di impostare il numero di pixel pari a quello utilizzato per la visualizzazione. Io ho scelto di impostare il lato lungo a 1280 pixel che è pari a quella degli attuali monitor per pc. Se la impostate più bassa non vedrete la foto a pieno schermo, a meno che non la ingrandide perdendo in qualità.

    Se ad esempio volete vedere le foto su un palmare con una risoluzione dello schermo pari a 320x240 vi consiglio di settare il lato lungo a 320. Otterrete il massimo della compressione (riduzione della dimensione del file) con un ottima qualità visiva, sempre a patto che non vogliate ingrandire la visualizzazione su un particolare;





Parametri - Qualità/Compressione



JcResizer



Ora vediamo in dettaglio il parametro di qualità/compressione.

  • Questo parametro è molto importante in quanto definisce la qualità dell'immagine. Qui entra in gioco la compressione jpeg utilizzata per le foto.

    Le foto originali sono già compresse e il tipo di compressione è a perdita di qualità. Cosa significa? Che la macchina fotografica per ridurre la dimensione del file applica alla foto un tipo di compressione (in genere si può sceglire il livello) che ne riduce i dettagli. Questo è praticamente invisibile all'occhio umano, a patto di non aumentare troppo la compressione o di immagini e colori particolari. Ad esempio un buon mezzo per capire la qualità è osservare una foto dove si ritrae un volto. Infatti il colore bianco/rosa e l'uniformità della pelle mettono a dura prova la compressione jpeg.

    Tornando al parametro, io ho scelto un valore 75 buono per tutte le stagioni! Se dovete vedere le foto sul televisore di casa potete tranquillamente abbassare questo valore anche a un valore pari a 60.

    Per rendervi conto fate qualche prova e poi decidete.





Parametri - Non Ridimensionamento



JcResizer



Ora vediamo in dettaglio i parametri per non ridimensionare.



Ebbene si, si può anche scegliere di non ridimensionare un'immagine se questa non è già di buona qualità.

Certo, possiamo evitare di caricarla nell'elenco delle foto da ridimensionare, ma potremmo non sapere a priori che quella foto è di scarsa qualità.

Io, ad esempio, creo una cartella differente per ogni mese dell'anno e in questa cartella metto tutte le foto scattate in quel determinato mese dove potrebbero convivere foto fatte con altre macchine fotografiche, ad esempio di amici, piuttosto che foto scattate con un cellulare (solitamente di pessima qualità). Bene, se io, per fare in fretta, decido di ridimensionare tutte le foto presenti in questa cartella mi ritroverò ridimensionate anche le foto fatte con il cellulare ... non voglio svelarvi il risultato!

Torniamo ad analizzare i parametri:

  • La parte di sinistra è una copia negata dei parametri già visti per definire il ridimensionamento. In pratica definiamo che la foto non viene ridimensionata se il numero di pixel è inferiore ad un determinato valore.

    Io ho impostato di basarmi sul lato lungo e l'ho impostato a 1280 pixel, quindi se il lato lungo della foto è più piccolo la foto non viene ridimensionata;
  • La parte di destra si basa sulla dimensione del file, se il file è minore della dimensione del file che impostiamo (in kbyte), la foto non viene ridimensionata. In pratica è un trucco per controllare la qualità della foto.

    Io ho impostato 600 KByte, si potrebbe anche diminuire.





Parametri - Opzioni Generali



JcResizer



Ora vediamo in dettaglio i parametri delle opzioni generali.

  • "Keep original EXIF data" serve per mantenere le informazioni dello scatto salvate nel file stesso dalla macchina fotogafica.

    Per la pura visione delle foto non servono a niente, a meno che la nostra macchina fotografica non abbia il sensore di orientamento verticale/orizzontale e il nostro sistema di visualizzazione lo gestisca correttamente. Questo ci consentirebbe di non ruotare manualmente le foto in verticale per la corretta visualizzazione.

    Per il resto contengono le informazioni sul tempo di scatto, apertura diaframma, ISO, uso flash ecc. ecc. insomma come è stata scattata la foto.

    Togliendole si riduce di molto la dimensione del file se la foto viene ridimensionata/compressa molto, altrimenti (ad esempio con i parametri che ho impostato io) il risparmio di dimensione del file è poco.

    Io ho preferito mantenere questi dati;
  • "Save files with original date/time", questa è una opzione molto importante che non tutti i programmi hanno. Infatti ridimensionando una foto di fatto si crea un nuovo file e questo file prenderà come data e ora quella di quando viene creato.

    Questo vi farebbe perdere l'informazione di quando la foto è stata scattata (in realtà è recuperabile dalla informazioni EXIF viste precedentemente). Abilitando questa opzione la foto ridimensionata avrà la stessa data e ora della foto originale;
  • "Overwrite existing files", questa opzione l'abbiamo già vista all'inzio della nostra lezione ed è estremamente importante in quanto se abilitata, io ho scelto di lasciarla disabilitata, non viene fatto nessun controllo sulla scrittura della foto ridimensionata con il rischio di sovrascrivere la foto originale. Abilitatela con cautela!
  • "Create subdirectories in destination folder", cosa farà mai questa opzione. Praticamente vi ricrea tutta la gerarchia delle cartelle di dove si trovano le foto originali nella cartella che avete precedentemente scelto per scrivere le foto ridimensionate.

    Io ho scelto di abilitarla;
  • "Use source directories as output", forza l'utilizzo della stessa cartella di dove si trovano le foto originali per scrivere le foto ridimensionate.

    Io ho scelto di disabilitarla;





Avvio conversione e Resoconto operazioni svolte



Per avviare la conversione delle foto premete il pulsante Start, si aprirà una finestra con il progressivo della conversione e con il resoconto finale, come visualizzato nell'immagine che segue.



JcResizer



Prestate la massima attenzione all'ultima riga, se ci sono "Errors" o "Warnings" vi conviene analizzare nel dettaglio cosa è stato fatto per ogni singola foto ed una volta risolto il problema ripetere la procedura di ridimensionamento.






La breve spiegazione termina qui, spero vi sia servita a chiarivi meglio il funzionamento e l'utilità di questo programma.

Se avete dubbi o suggerimenti non esitate a contattarmi attraverso la pagina dei Contatti.

Questo aiuterà noi ad arricchire questa semplice guida e tutti gli altri utenti che hanno incontrato lo stesso vostro problema!

Recensioni

Novembre 2010, by Crovy
Questo programma è stato recensito da:
  • StagniWeb - Sito dedicato alle ferrovie contenente anche utili guide informatiche;

Cose da Fare Versione 1.2.0

Dicembre 2008, by Crovy
  • Controllare se vengono modificati i "parametri di conversione" senza chiedere ogni volta se si vogliono salvare;
  • Visualizzare i dati del file selezionato (risoluzione foto, data, dimensioni file);
  • Visualizzare anteprima del file selezionato;
  • capire la compressione del file sorgente (non credo sia possibile);
  • Manuale/Help (fatto in questa pagina sul sito);
  • Rinominare il pulsante Cancel in Exit e spostarlo come ultimo;

Errori Noti Versione 1.2.0

Novembre 2010, by Crovy
  • Ho avuto occasione di utilizzare OpenJDK e con questo programma non funziona correttamente. Il programma si blocca appena inizia il processo di conversione generando una eccezione non catturata. Si consiglia di utilizzare il JDK ufficiale della Oracle;

Cronologia Revisioni

1.2.0 del 15.11.07
  • Modificato il layout per migliorare la visualizzazione dei parametri e per renderlo utilizzabile con una risoluzione 800x600;
  • Aggiunto un parametro per non ridimensionare (e quindi non cambiare nemmeno la qualità) se il file è < di x Kb. Questo perché tante volte ci sono foto con una buona risoluzione ma molto compresse e in questo modo si evita una ulteriore perdita di qualità.
  • Ora è possibile salvare su file i "parametri di conversione";
  • Aggiunto opzione per salvare la configurazione:
    • La cartella di origine;
    • La cartella di destinazione;
    • Opzione di includere le sottocartelle;
    • Riferimento all'ultimo file dei "parametri di conversione" usato;
  • Insieme al nome del programma viene visualizzato il nome del file dei "parametri di conversione";
  • All'avvio viene controllata la versione del Java, nel caso di versioni non supportate (< 1.5) viene visualizzato un messaggio di errore;
1.1.0 del 05.06.07
  • Rilascio prima versione su questo portale;