FORUM NIKONCLUB

Condividi le tue conoscenze, aiuta gli altri e diventa un esperto.

Chiudi
TITOLO*
DOMANDA*
AREA TEMATICA INTERESSATA*
Ridimensionamento Condizionato
è possibile in automatico?
Rispondi Nuova Discussione
Peve
Messaggio: #1
ok, il titolo è un po' criptico... ma non sapevo cosa scrivere smile.gif

Il problema è questo... dovrei fare un azione in Photoshop CS2 dove una foto viene ridimensionata, il problema è che dovrei riuscire a ridimensionare il lato più lungo ad una misura fissa e quello corto venga come venga, mantenendo la proporzione, ovviamente. Come faccio a riconoscere il lato più lungo in automatico all' interno di un azione? è possibile?

Grazie...
Massimo.Novi
Messaggio: #2
QUOTE(Peve @ Aug 23 2007, 05:28 PM) *
ok, il titolo è un po' criptico... ma non sapevo cosa scrivere smile.gif

Il problema è questo... dovrei fare un azione in Photoshop CS2 dove una foto viene ridimensionata, il problema è che dovrei riuscire a ridimensionare il lato più lungo ad una misura fissa e quello corto venga come venga, mantenendo la proporzione, ovviamente. Come faccio a riconoscere il lato più lungo in automatico all' interno di un azione? è possibile?

Grazie...


Ciao

Di per se no.

Ma puoi usare questo add-in free molto utile:

Siva's Photoshop Conditional Action

Puoi indicare la condizione da verificare e l'azione da eseguire se vera e quella da eseguire se falsa. Quindi se il lato X è più lungo del lato Y significa che è landscape e viceversa.

Crea due azioni, una per ciascun orientamento, e sei a posto.

Credo che possa risolverti il problema.

Saluti

Messaggio modificato da manovi il Aug 23 2007, 04:44 PM
Negativodigitale
Messaggio: #3
Ciao, magari mi faccio ricoprire di insulti ma io una cosa del genere la faccio
quasi quotidianamente con Acdsee Pro 8.
E' di una banalità disarmante. Imposti la misura del lato lungo(altezza o larghezza è uguale) e lui te le fa.

Ciao! Paolo
dema
Messaggio: #4
Basta anche Acdsee 8 o versioni inferiori e queste impostazioni metti per entrambi i lati la misura che vuoi e il gioco è fatto.

IPB Immagine
Peve
Messaggio: #5
QUOTE(manovi @ Aug 23 2007, 05:39 PM) *
Ciao

Di per se no.

Ma puoi usare questo add-in free molto utile:
...


Grazie mille, questa sera lo provo sicuramente e vedo se può fare al caso mio.

QUOTE(Negativodigitale @ Aug 23 2007, 05:50 PM) *
Ciao, magari mi faccio ricoprire di insulti ma io una cosa del genere la faccio
quasi quotidianamente con Acdsee Pro 8.
...

QUOTE(dema @ Aug 23 2007, 06:05 PM) *
Basta anche Acdsee 8
...


Grazie anche a voi, in effetti non sono stato molto chiaro, il problema è che mi farebbe comodo farlo con photoshop perchè questo ridimensionamento fa parte di un' azione più complessa che fa anche altre cose, attualmente lo faccio anche io con un programma esterno ma vorrei unificare tutto.
Massimiliano_S
Messaggio: #6
QUOTE(Peve @ Aug 23 2007, 06:13 PM) *
Grazie mille, questa sera lo provo sicuramente e vedo se può fare al caso mio.
Grazie anche a voi, in effetti non sono stato molto chiaro, il problema è che mi farebbe comodo farlo con photoshop perchè questo ridimensionamento fa parte di un' azione più complessa che fa anche altre cose, attualmente lo faccio anche io con un programma esterno ma vorrei unificare tutto.

Lo fa benissimo anche photoshop basta andare su File -> scripts -> image processor (od elaboratore d'immagini a seconda della versione). Nella finestra che ti appare decidi la cartella da cui prendere le immagini da ridimensionare, in che formato salvarle, se ridimensionarle (ad esempio 600x600 negli opportuni spazi). Spero di esseri stato utile, bye.
Massimo.Novi
Messaggio: #7
QUOTE(Massimiliano_S @ Aug 23 2007, 11:37 PM) *
Lo fa benissimo anche photoshop basta andare su File -> scripts -> image processor (od elaboratore d'immagini a seconda della versione). Nella finestra che ti appare decidi la cartella da cui prendere le immagini da ridimensionare, in che formato salvarle, se ridimensionarle (ad esempio 600x600 negli opportuni spazi). Spero di esseri stato utile, bye.


Ciao

Giusto perbacco!

Il trucco in questo caso è impostare la dimensione UGUALE per altezza e larghezza!

Ottima soluzione!

Naturalmente l'azione eseguita sarà la medesima per tutti i file (con l'action separata si può invece scegliere) ma non credo che fosse un problema.

Saluti

miz
Messaggio: #8
Invece di utilizzare l'elaboratore immagini - che sta sotto File > script - è, in questo caso più semplice usare il comando Adatta immagine... (Fit image... nella versione inglese).
Lo trovi sotto File > Automatizza, ed è sufficiente dare la dimensione massima sia alla larghezza che all'altezza. Il programma automaticamente applicherà il parametro alla dimensione massima dell'originale, mantenendo le proporzioni.
Massimo.Novi
Messaggio: #9
QUOTE(miz @ Aug 24 2007, 11:34 AM) *
Invece di utilizzare l'elaboratore immagini - che sta sotto File > script - è, in questo caso più semplice usare il comando Adatta immagine... (Fit image... nella versione inglese).
Lo trovi sotto File > Automatizza, ed è sufficiente dare la dimensione massima sia alla larghezza che all'altezza. Il programma automaticamente applicherà il parametro alla dimensione massima dell'originale, mantenendo le proporzioni.


Ciao

Come vedete ci sono innumerevoli modi per farlo.

La richiesta originale era per una procedura batch e quindi si consigliavano principalmente processori che operassero in tal senso. Ma basta creare un'azione con Fit Image e lanciarla in batch ovviamente. Oppure inserire Fit Image nelle azioni esistenti.

Tante ottime soluzioni tutte valide.

Purtroppo per chi usa come me plugin specifici per il ridimensionamento è stato necessario creare qualcosa di leggermente più complesso per tale tipo di automatizzazione.

Saluti
Sugar85
Messaggio: #10
io mi trovo molto bene con il programma VSO Image Resizer!
Peve
Messaggio: #11
Grazie mille a tutti, adesso ho tante di quelle opzioni che... non so decidermi biggrin.gif
pcantare
Messaggio: #12
QUOTE(miz @ Aug 24 2007, 10:34 AM) *
Invece di utilizzare l'elaboratore immagini - che sta sotto File > script - è, in questo caso più semplice usare il comando Adatta immagine... (Fit image... nella versione inglese).
Lo trovi sotto File > Automatizza, ed è sufficiente dare la dimensione massima sia alla larghezza che all'altezza. Il programma automaticamente applicherà il parametro alla dimensione massima dell'originale, mantenendo le proporzioni.


Mi inserisco anch'io nella discussione, visto che ho anche io lo stesso problema. Purtroppo il fit image non è qualitativamente uguale al ridimensionamento via image size, perché non è possibile scegliere il metodo di interpolazione da usare. Facendo una prova con bicubic sharper (better for reduction) il risultato è notevolmente superiore.

Prima che me lo chiediate, nelle preferenze avevo scelto quello come metodo di interpolazione di default ma, visti i risultati, ipotizzo che il fit image non l'abbia utilizzato.

Grazie per eventuali risposte.
pcantare
Messaggio: #13
Mi rispondo da solo, sperando la soluzione che ho adottato possa aiutare anche altri.

Innanzitutto premetto che i metodi fit image e l'image processor non permettono di scegliere il metodo di interpolazione da usare e quindi, dal mio punto di vista, non sono alternative valide. Lo Siva's Photoshop Conditional Action invece funziona a dovere ma lo trovo un po' scomodo per alcune cose.

Alla fine, quindi, ho deciso di prendere in considerazione l'ipotesi di crearmi uno script javascript. In Programmi\Adobe\Adobe Photoshop CS3\Scripting guide c'è tutto l'occorrente per iniziare e vi consiglio di cominciare dall'ottima guida Photoshop CS3 Scripting Guide.pdf. Sono un'ottantina di pagine ma è molto semplice e ricco di esempi e, visto che parla contemporaneamente dei tre linguaggi di scripting utilizzabili in Photoshop, le parti che mi interessavano si sono notevolmente ridotte e alla fine in 1 ora sono riuscito a farmi il mio script.

A me interessava uno script che prendesse tutti i documenti aperti, li ridimensionasse per il lato lungo con il bicubic sharper, li convertisse in sRGB, li salvasse in una directory e li chiudesse. Ovviamente il tutto è molto migliorabile, ma per un inizio mi sembra sufficiente.

Ho messo le variabili in italiano in modo che sia più facile distinguere le parti introdotte da me dalle parole del linguaggio.

Purtroppo non sono riuscito a far mantenere la formattazione in questo form ma il programma è talmente semplice che non dovrebbero esserci problemi.

Innanzitutto un po' di variabili per modificare agilmente il programma:

QUOTE
var altezza = "Hght";
var larghezza = "Wdth";
var pixel = 800.000000;
var output = "E:\\Foto\\Barcellona\\temp";
var bicubicSharper = "bicubicSharper";
var bicubicNormale = "Bcbc";


Il corpo principale:

QUOTE
while (app.documents.length > 0) {
docRef = app.activeDocument;

if (docRef.height > docRef.width) {
ridimensiona(altezza, pixel, bicubicSharper);
} else {
ridimensiona(larghezza, pixel, bicubicSharper);
}

convertiProfilo();
salva(output);

docRef.close();
}


A questo punto, le funzioni ridimensiona, convertiProfilo e salva, create con l'Action Manager:

QUOTE

// ridimensiona immagine
function ridimensiona(lato, dimensione, modo) {
var id3 = charIDToTypeID( "ImgS" );
var desc2 = new ActionDescriptor();
var id4 = charIDToTypeID( lato );
var id5 = charIDToTypeID( "#Pxl" );
desc2.putUnitDouble( id4, id5, dimensione );
var id6 = stringIDToTypeID( "scaleStyles" );
desc2.putBoolean( id6, true );
var id7 = charIDToTypeID( "CnsP" );
desc2.putBoolean( id7, true );
var id8 = charIDToTypeID( "Intr" );
var id9 = charIDToTypeID( "Intp" );
var id10 = stringIDToTypeID( modo );
desc2.putEnumerated( id8, id9, id10 );
executeAction( id3, desc2, DialogModes.NO );
}

// convesione profilo
function convertiProfilo() {
var id11 = stringIDToTypeID( "convertToProfile" );
var desc3 = new ActionDescriptor();
var id12 = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var id13 = charIDToTypeID( "Dcmn" );
var id14 = charIDToTypeID( "Ordn" );
var id15 = charIDToTypeID( "Trgt" );
ref1.putEnumerated( id13, id14, id15 );
desc3.putReference( id12, ref1 );
var id16 = charIDToTypeID( "T " );
desc3.putString( id16, "sRGB IEC61966-2.1" );
var id17 = charIDToTypeID( "Inte" );
var id18 = charIDToTypeID( "Inte" );
var id19 = charIDToTypeID( "Clrm" );
desc3.putEnumerated( id17, id18, id19 );
var id20 = charIDToTypeID( "MpBl" );
desc3.putBoolean( id20, true );
var id21 = charIDToTypeID( "Dthr" );
desc3.putBoolean( id21, true );
var id22 = charIDToTypeID( "sdwM" );
desc3.putInteger( id22, -1 );
executeAction( id11, desc3, DialogModes.NO );
}

// salvataggio immagine
function salva(directory) {
var id23 = charIDToTypeID( "save" );
var desc4 = new ActionDescriptor();
var id24 = charIDToTypeID( "As " );
var desc5 = new ActionDescriptor();
var id25 = charIDToTypeID( "EQlt" );
desc5.putInteger( id25, 10 );
var id26 = charIDToTypeID( "MttC" );
var id27 = charIDToTypeID( "MttC" );
var id28 = charIDToTypeID( "None" );
desc5.putEnumerated( id26, id27, id28 );
var id29 = charIDToTypeID( "JPEG" );
desc4.putObject( id24, id29, desc5 );
var id30 = charIDToTypeID( "In " );
desc4.putPath( id30, new File( directory ) );
var id31 = charIDToTypeID( "Prvw" );
var list1 = new ActionList();
var id32 = charIDToTypeID( "Prvw" );
var id33 = charIDToTypeID( "WnTh" );
list1.putEnumerated( id32, id33 );
desc4.putList( id31, list1 );
executeAction( id23, desc4, DialogModes.NO );
}


Per finire, in Programmi\Adobe\Adobe Utilities\ trovate l'ExtendScript Toolkit 2 che, a parte credo fare cose sofisticate che non ho voluto appofondire, permette di avere un editor javascript con anche il debug e la possiblità di esplorare le variabili.

Spero sia tutto chiaro e che possa servire a qualcuno smile.gif
adalleluche
Messaggio: #14
QUOTE(Peve @ Aug 23 2007, 04:28 PM) *
ok, il titolo è un po' criptico... ma non sapevo cosa scrivere smile.gif

Il problema è questo... dovrei fare un azione in Photoshop CS2 dove una foto viene ridimensionata, il problema è che dovrei riuscire a ridimensionare il lato più lungo ad una misura fissa e quello corto venga come venga, mantenendo la proporzione, ovviamente. Come faccio a riconoscere il lato più lungo in automatico all' interno di un azione? è possibile?

Grazie...


Personalmente trovo utilissimo lo script creato da Russel Brown "1-2-3 Process". Si tratta di una versione potenziata dell' "image processor" presente in PS. A partire da uno o più file di origine, lo script, che esiste sia per CS2 che CS3, permette di ottenere contemporaneamente fino a tre file in formati diversi (jpg, psd , tiff e gif) scegliendo per ciascuno la cartella di destinazione, il profilo colore, le dimensioni (impostando la stessa dimensione per altezza e larghezza viene considerato il lato maggiore) il tipo di ricampionamento da utilizzare, la risoluzione in uscita, l'eventuale compressione LZW per i tiff etc etc etc.
Lo script può essere scaricato da qui
Qui potete trovare un filmato che ne illustra l'utilizzo in CS3.
Unica pecca: se non ricordo male ha bisogno di qualche piccola modifica per poter funzionare nelle versioni di PS diverse da quella inglese.

Andrea
nippokid (was here)
Messaggio: #15
QUOTE(adalleluche @ Feb 8 2008, 01:16 PM) *
Personalmente trovo utilissimo lo script .............cut
Andrea


GRAZIE! rolleyes.gif

bye.

 
Discussioni simili Iniziata da Forum Risposte Ultimo messaggio