[bglug] KDE-COME AGGIORNARE MINIATURE

Fabio fabio.c.ditta@tiscali.it
Lun 3 Dic 2007 11:26:43 CET


Fabio ha scritto:
> Ciao a tutti,
>
> l'altra sera ho scoperto il programma "exiftran" che permette di 
> ruotare le fotografia senza perdita di qualità.
> Infatti uno dei problemi della rotazione immagini è proprio la perdita 
> di qualità verificabile dal fatto che il file modificato non ha mai le 
> stesse dimensioni dell'originale (potrebbe anche essere maggiore, ma 
> questo significa solo che la foto è stata trattata come tale, quindi 
> letta, ruotata e salvata, ma per salvarla bisogna definire la 
> compressione e questa non è mai come l'originale).
> Exiftran credo lavori in un modo completamente diverso, fatto sta che 
> l'immagine ruotata ha le stesse dimensioni (in byte) dell'originale.
>
> Bene, dopo questa premessa, eccovi il mio problema.
>
> Richiamo il programma per ruotare l'immagine mantenendo data e ora 
> originali e sovrascrivendo lo stesso file. La miniatura di Konqueror 
> non si aggiorna, se apro la foto la vedo correttamente ruotata. Anche 
> facendo aggiorna con F5 la miniatura non cambia. Se invece dico al 
> programma di modificare data e ora la miniatura viene automaticamente 
> aggiornata.
> Pensavo di cancellare manualmente (poi sarà fatto con uno script) la 
> miniatura, ma i file prendono nomi differenti da quelli della foto.
>
> Per ora utilizzo ShowImg (che usavo anche per ruotare le foto) dove 
> selezionando le miniature permette di aggiornarle, ma volevo fare un 
> qualcosa di automatico.
>
> Avete idee?
>
> Grazie, Fabio.
>
>
Vi avevo posto la mia questione, ho trovato questa soluzione e volevo 
rendervi partecipi, magari può servirvi.

Innanzitutto ho aggiunto delle voci nel menu contestuale di Konqueror in 
modo da selezionare direttamente da Konqueror tutte le foto da ruotare 
(quelle nello stesso senso).
La cosa è molto semplice, si crea un file con estensione obbligatoria 
"desktop" e con il nome che preferite e lo si copia nella cartella 
~/.kde/share/apps/konqueror/servicemenus
Nel file si mettono i dati per il menu contestuale, il mio file è così:

[Desktop Entry]
ServiceTypes=image/jpeg
Actions=ruotaSensoOrario;ruotaSensoAntiOrario
[Desktop Action ruotaSensoOrario]
Name=ruota in senso orario - by Crovy
Exec=~/Programmi/script/rFoto.sh 9 %f
Icon=/usr/share/icons/crystalsvg/16x16/actions/rotate_cw.png
[Desktop Action ruotaSensoAntiOrario]
Name=ruota in senso anti-orario - by Crovy
Exec=~/Programmi/script/rFoto.sh 2 %f
Icon=/usr/share/icons/crystalsvg/16x16/actions/rotate_ccw.png

Le righe che fanno riferimento alle icone "Icon" forse dovete 
personalizzarle, ma potete anche eliminarle. Mentre le righe che fanno 
riferimento allo script di rotazione foto "Exec" dovrete adattarle al 
nome e al percorso di dove metterete lo script che segue.

Questo è lo script che ruota la foto (viene richiamato più volte da 
konqueror per ogni foto selezionata) mantenendo data e ora originali, 
sovrascrivendo la foto stessa e aggiornando le miniature.

#!/bin/bash
echo ROTAZIONE FOTO "$2"
echo -n file://"$2" > "$2.md5"
exiftran -$1ip "$2"
md5print=`md5sum "$2.md5"`
echo MD5 = $md5print
name=${md5print:0:32}
echo name = $name
rm "$2.md5"
if [ -e ~/.thumbnails/normal/$name.png ]; then
    rm ~/.thumbnails/normal/$name.png
fi
if [ -e ~/.thumbnails/large/$name.png ]; then
    rm ~/.thumbnails/large/$name.png
fi
exit


In pratica il nome del file delle miniature è l'md5 del percorso+nome 
della foto (ribadisco, non è l'md5 del file della foto).
Per aggiornarle non ho trovato niente di meglio che cancellare la 
miniatura, funziona ma forse esiste un metodo più ortodosso per farlo 
fare direttamente al processo che crea le miniature. Io non l'ho 
trovato, qualcuno ne sa qualcosa?
Altro problemino sul quale chiedo aiuto, questo script non aggiorna le 
miniature se nel nome del file o nel percorso sono presenti degli spazi 
(e forse altri caratteri speciali). La foto viene ruotata ma il nome del 
file della miniatura non riesco a ricostruirlo. Anche qui, se qualcuno 
ne sa qualcosa mi farebbe un favore.

Io uso kde, magari qualcuno nella lista sa come fare il menu contestuale 
per gli altri file browser così da completare il quadro di questa 
piccola utility?


Grazie, Fabio.


Maggiori informazioni sulla lista bglug