Ausgabe
Ich habe mehrere solcher Bilder
und ein Hauptfoto, dem alle anderen zustimmen müssen.
Ich möchte, dass sich die kleinen Quadrate der oberen Reihe auf allen Fotos genau an der gleichen Stelle befinden (weil ich ein Photoshop-Skript verwende, um die Farbe der Mitte jedes Quadrats mit statischen Koordinaten abzutasten). Auf vielen Fotos hat sich die Kamera ein wenig bewegt, also muss ich sie (meistens vertikal) anpassen, um das zu beheben. Kennen Sie eine Möglichkeit, wie dies bei vielen (weil ich etwa 1000 davon habe) Fotos problemlos möglich ist?
Ich habe versucht, 30-40 gleichzeitig in Photoshop zu öffnen, brauche aber eine Möglichkeit, einige Referenzpunkte zu platzieren und zu behalten. Wisst ihr, wie man das machen kann? Vielleicht gemeinsame Anleitungen für alle geöffneten Dateien oder ähnliches?
Lösung
Sie können vertikale Zentren ausrichten und dann die horizontalen Zentren mit Code verteilen:
function align_tiny_photos()
{ // align and distribute
var idAlgn = charIDToTypeID( "Algn" );
var desc48 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref16 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref16.putEnumerated( idLyr, idOrdn, idTrgt );
desc48.putReference( idnull, ref16 );
var idUsng = charIDToTypeID( "Usng" );
var idADSt = charIDToTypeID( "ADSt" );
var idAdCV = charIDToTypeID( "AdCV" );
desc48.putEnumerated( idUsng, idADSt, idAdCV );
executeAction( idAlgn, desc48, DialogModes.NO );
var idDstr = charIDToTypeID( "Dstr" );
var desc62 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref23 = new ActionReference();
var idLyr = charIDToTypeID( "Lyr " );
var idOrdn = charIDToTypeID( "Ordn" );
var idTrgt = charIDToTypeID( "Trgt" );
ref23.putEnumerated( idLyr, idOrdn, idTrgt );
desc62.putReference( idnull, ref23 );
var idUsng = charIDToTypeID( "Usng" );
var idADSt = charIDToTypeID( "ADSt" );
var idAdCH = charIDToTypeID( "AdCH" );
desc62.putEnumerated( idUsng, idADSt, idAdCH );
executeAction( idDstr, desc62, DialogModes.NO );
}
Benutzen:
align_tiny_photos();
Beantwortet von – Ghoul Fool
Antwort geprüft von – Marilyn (FixError Volunteer)