Gli utenti più votati di questo mese:
ultime dal blog
Su HelpMac arrivano le attività, la ricerca by google, le menzioni e gli account twitter
Questo weekend HelpMac.it è stato offline e siamo riusciti ad effettuare il secondo step di interventi tecnici ed upgrade che avevamo in programma. Andiamo a vedere di cosa si tratta!
Seguimi, sono su twitter!
Abbiamo in road map molti interventi per migliorare le pagine personali su HelpMac.it, nonché il "rapporto" con gli altri utenti. Al m...
Ciao,
non so se può bastarti questo :
- in Finder scegli la "vista ad elenco" (CMD +2)
- tasto destro sull'intestazione delle colonne
- aggiungi l'ultimo campo : "Dimensioni" (quello dopo "Risoluzione")
- clicchi sulla colonna per ordinare
Altrimenti, se vuoi una "lista" dei nomi dei file ordinata come dicevi prima per larghezza e poi per altezza, bisogna ricorrere ad un Applescript... da studiare ad hoc;
in ogni caso però lo script ti ritorna appunto una lista, ma non riorganizza la posizione dei file all'interno del finder
ciao Gabriele, è la prima cosa che ho fatto ma non funziona,almeno per quello che serve a me.
per quanto riguarda l'applescript non so proprio da dove partire quindi lo escludo.
comunque ti ringrazio
lo script posso vedere di scrivertelo io, ma ti può bastare avere un elenco di file ?
(non i file ordinati nel finder, per quello non ho soluzioni)
se non riesco ad ordinare i file all'interno della cartella lo script serve a poco.
ti spiego nel dettaglio di cosa ho bisogno.
devo usare un'azione in photoshop che ridimensiona tutte le immagini (circa 4000) ad una risoluzione di 400x400.usando la funzione batch mi chiede di usare un'azione (preimpostata) ed è qui il problema, solitamente uso due azioni differenti per ridimensionare le immagini, una che interviene sulla larghezza, e una sull'altezza, da qui nasce la necessità di creare una cartella con tutte le immagini (su cui intervengo sulla larghezza), e una su cui intervengo sull'altezza.
non so se mi sono spiegato, spero di si.
Ma il ridimensionamento non lo fai mantenendo le proporzioni ?
Quindi ridimensioni una sola delle due dimensioni e l'altra viene calcolata di conseguenza ?
Comunque, potrebbe andare se li script copiasse le immagini in due differenti cartelle ?
Quale è il criterio per decidere se devi ridimensionare l'altezza o la larghezza ?
Il resize deve farlo per forza photoshop ? Perchè forse si riesce a far fare tutto allo script
se lo script copiasse le immagini in due cartelle differenti sarebbe perfetto,
ad esempio tutte le immagini che sono più larghe (ad es.400x300) e in un altra cartella le altre che sono più alte (ad es. 400x500).
non sono esperto di photoshop, ma pur mantenendo le proporzioni non riesco a fare un azione che ridimensiona tutte le immagini alla risoluzione che voglio(in questo caso 400x400)
faccio riferimento a photoshop, naturalmente qualsiasi altra applicazione va bene lo stesso.
Gabriele ti ringrazio per l'interessamento, mi spiace che non riesco bene a spiegarmi
Ok, vediamo se ho capito bene ...
tu vuoi che la dimensione più grande di ogni immagine sia al max 400, quindi se è maggiore la larghezza ridimensioni quella a 400 e l'altezza viene calcolata di conseguenza per mantenere le proporzioni.
Se ho capito bene, qui sotto trovi lo script per farlo, il testo lo devi incollare dentro ad un nuovo documento di AppleScript, poi lo puoi salvare come applicazione ed eseguirlo normalmente.
Lo script ti chiede 3 cose :
- il numero di pixel per la dimensione massima (default : 400)
- la cartella dove prendere i file (seleziona tutti i file contenuti !)
- la cartella dove salvare le immagini ridimensionate (sovrascrive file con lo stesso nome)
Lo script non tocca le immagini originali, andando a salvare in una cartella differente, ma per sicurezza DEVI farti una copia di quelle immagini prima di darle in pasto ;)
Quando ha terminato ti visualizza il numero di immagini ridimensionate, ovviamente per 4000 immagini ci metterà un po, per cui per prima cosa provalo su poche immagini per vedere se è tutto ok.
Se c'è qualcosa che non torna chiedi pure ;)
---------------------------------------------------
try
set dim to display dialog "Indicare il numero di pixel per la dimensione massima : " default answer "400"
set target_px to (text returned of dim) as number
set in_folder to choose folder with prompt "Selezionare la cartella con le immagini da ridimensionare"
set out_folder to choose folder with prompt "Selezionare la cartella di destinazione"
tell application "Finder"
set img_files to every file of in_folder
end tell
tell application "Image Events"
launch
repeat with i from 1 to length of img_files
set img to file ((item i of img_files) as string)
set pic to open img
tell pic
scale to size target_px
set img_name to name
save in ((out_folder as string) & img_name) as (file type)
end tell
end repeat
end tell
display dialog "Ho ridimensionato " & i & " immagini"
on error error_message
display dialog error_message
end try
---------------------------------------------------
dimenticavo ....
le immagini ridimensionate sono salvate nello stesso formato dell'immagine di partenza;
se serve si può aggiungere anche il salvataggio in altro formato ;)
guarda per il ridimensionamento penso che l'unico modo sia photoshop.
a me basterebbe che lo script mi salvasse le immagini in due cartelle differenti:
quelle con larghezza maggiore dell'altezza ad es. 170x100 - 250x200 - 300x250 in una cartella,
e le immagini con altezza maggiore della larghezza ad es. 100x170 - 200x250 - 250x300 in un altra cartella
l'azione che andrò' a fare in photoshop (che ho già salvato), mi porterà tutte le immagini a una grandezza di 400x400 pixel, azione che faro' in due volte,
la prima prendendo tutte le immagini con maggiore larghezza e la seconda con maggiore altezza
se vuoi mandarmi a quel paese fallo pure!! :)
Ciao,
ok, allora questo script fa una copia dei file suddividendoli in due sotto cartelle ("altezza" e "larghezza") sulla base alla dimensione maggiore;
le due sottocartelle vengono create nella stessa cartella delle immagini.
Fammi sapere :)
---------------------------------------------------
try
set in_folder to choose folder with prompt "Selezionare la cartella con le immagini"
set in_folder_unx to (quoted form of POSIX path of in_folder)
tell application "Finder"
if not (exists folder "larghezza" of in_folder) then
make new folder at in_folder with properties {name:"larghezza"}
end if
if not (exists folder "altezza" of in_folder) then
make new folder at in_folder with properties {name:"altezza"}
end if
set img_files to every file of in_folder
end tell
tell application "Image Events"
launch
repeat with i from 1 to length of img_files
set img to file ((item i of img_files) as string)
set pic to open img
tell pic
copy dimensions to {W, H}
if W is greater than H then
set out_folder to "larghezza"
else
set out_folder to "altezza"
end if
close
set img_unx to (POSIX path of img)
do shell script "cp " & quoted form of img_unx & " " & in_folder_unx & out_folder
end tell
end repeat
end tell
display dialog "Finito !"
on error error_message
display dialog error_message
end try
---------------------------------------------------
allora, ho fatto partire lo script, mi ha creato due cartelle differenti come appunto indichi te, dopo un po' si è fermato è apparsa la scritta "impossibile ottenere"
da ignorante in materia, sarebbe possibile indicare al programma di non fermarsi qualora incontra errori?
ha suddiviso correttamente circa 1000 immagini nelle sottocartelle ma poi si è fermato
giusto :)
script modificato : in caso di errori tira dritto ma salva le immagini non copiate in un file di log sul desktop (e te lo apre alla fine )
---------------------------------------------------
set log_name to "log_" & (do shell script "date +'%y%m%d%H%M' ") & ".txt"
set logfile to open for access file (((path to desktop) as string) & log_name) with write permission
set eof of logfile to 0
set errori to false
try
set in_folder to choose folder with prompt "Selezionare la cartella con le immagini"
set in_folder_unx to (quoted form of POSIX path of in_folder)
tell application "Finder"
if not (exists folder "larghezza" of in_folder) then
make new folder at in_folder with properties {name:"larghezza"}
end if
if not (exists folder "altezza" of in_folder) then
make new folder at in_folder with properties {name:"altezza"}
end if
set img_files to every file of in_folder
end tell
tell application "Image Events"
launch
repeat with i from 1 to length of img_files
set img to file ((item i of img_files) as string)
set img_unx to (POSIX path of img)
set pic to open img
tell pic
try
copy dimensions to {W, H}
if W is greater than H then
set out_folder to "larghezza"
else
set out_folder to "altezza"
end if
close
do shell script "cp " & quoted form of img_unx & " " & in_folder_unx & out_folder
on error error_message
write "Errore: " & img_unx & return to logfile starting at eof
set errori to true
end try
end tell
end repeat
end tell
close access logfile
display dialog "Finito !"
if errori then
tell application "TextEdit"
activate
open file (((path to desktop) as string) & log_name)
end tell
end if
end try
---------------------------------------------------
PERFETTOOOOOO!!!!!:)
mancano all'appello solo due file, nel file di testo è indicato il nome, quindi nessun problema intervengo io manualmente
sei stato gentile, disponibile e competente
Gabriele non so come ringraziarti, avrei pagato un programmino di questo tipo, non puoi immaginare quanto mi è utile.
Ho lanciato l'azione in photoshop tutto ok
ancora Grazie
sei un grande!!!!!!!!!!!!
sono contento che hai risolto :)
Ciao!