Affichage des résultats 1 à 38 sur 38
Discussion: Redresser et recadrer en javascript
Vue hybride
-
02/07/2016, 21h36 #1Membre
- Inscription
- décembre 2005
- Localisation
- Bayonne
- Âge
- 77
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Hum..........
Une relance un peu tardive:
Plus besoin de copier/coller l angle mesure !
Code://REDRESSEMENT RECADRAGE sans PROPORTIONS //Script realise sur https://www.eos-numerique.com/forums/newreply.php?do=newreply&p=653101 //par Beocien ( moi meme ) avec l aide de DomDom_one et Mac64 /* Ce script sert a redresser l image et a la recadrer Je l ai calibre a peu pres jusqu a un angle de 11° - sans garantie apres ! Mettre MesureRecadrage.jsx dans ....\Adobe Photoshop CS2\Paramètres prédéfinis\Scripts MODE D EMPLOI : Utiliser d abord l outil mesure ( cliquez sur l outil pipette en maintenant le click et choisir l Outil Mesure ) pour determiner l angle de recadrage. Faites OK. Mon adresse email = hallun@free.fr - Faites moi part des bugs !!! */ var strtRulerUnits = preferences.rulerUnits preferences.rulerUnits = Units.PIXELS preferences.rulerUnits = Units.CM //Je cree un calque pour etre sur d aplatir les cadres existants eventuels : var docRef = app.activeDocument; var layerRef1 = docRef.artLayers.add(); docRef.flatten(); //aplatir les calques //DonnerAngle() var myState = app.activeDocument.activeHistoryState; // id201 donne l angle de l instrument mesure ! // ======================================================= var id199 = charIDToTypeID( "Rtte" ); var desc55 = new ActionDescriptor(); var id200 = charIDToTypeID( "null" ); var ref11 = new ActionReference(); var id201 = charIDToTypeID( "Dcmn" ); var id202 = charIDToTypeID( "Ordn" ); var id203 = charIDToTypeID( "Frst" ); ref11.putEnumerated( id201, id202, id203 ); desc55.putReference( id200, ref11 ); var id204 = charIDToTypeID( "Angl" ); var id205 = charIDToTypeID( "#Ang" ); desc55.putUnitDouble(id201, id204, id205 ); // desc2.putUnitDouble( idAngl, idAng, 4.390000 ); //executeAction( id199, desc55, DialogModes.NO ); var debutAngle = executeAction( id199, desc55, DialogModes.NO ); Angle = debutAngle.getDouble(charIDToTypeID("Angl")); Angle = parseFloat(Angle); //executeAction( id199, desc55, DialogModes.NO ); //alert(Angle) //app.activeDocument.activeHistoryState = myState; //retour a l historique precedent //sans appliquer la rotation executeAction( id199, desc55, DialogModes.NO ); //commence la selection var id248 = charIDToTypeID( "setd" ); var desc51 = new ActionDescriptor(); var id249 = charIDToTypeID( "null" ); var ref23 = new ActionReference(); var id250 = charIDToTypeID( "Chnl" ); var id251 = charIDToTypeID( "fsel" ); ref23.putProperty( id250, id251 ); desc51.putReference( id249, ref23 ); var id252 = charIDToTypeID( "T " ); var desc52 = new ActionDescriptor(); var id253 = charIDToTypeID( "Top " ); var id254 = charIDToTypeID( "#Prc" ); Negatif() function Negatif() { //valeur negative : if ( Angle < 0 ) { Angle = - Angle; } else { Angle = Angle; } } AngleRedresse() function AngleRedresse() { if ( Angle <= 1 ) { TOP = ( Angle * 3.00); LEFT = (Angle * 1.2); } else if ( Angle > 1, Angle <= 2 ) { TOP = ( Angle * 2.55); LEFT = (Angle * 1.1); } else if ( Angle > 2, Angle <= 3 ) { TOP = (Angle * 2.45); LEFT = (Angle * 1.08); } else if ( Angle > 3, Angle <= 4 ) { TOP = (Angle * 2.36); LEFT = (Angle * 1.05); } else if ( Angle > 4, Angle <= 5 ) { TOP = ( Angle * 2.33); LEFT = (Angle * 1.); } else if ( Angle > 5, Angle <= 6 ) { TOP = (Angle * 2.26); LEFT = (Angle * 0.96); } else if ( Angle > 6, Angle <= 7 ) { TOP = ( Angle * 2.17); LEFT = (Angle * 0.93); } else if ( Angle > 7, Angle <= 8 ) { TOP = ( Angle * 2.06); LEFT = (Angle * 0.90); } else if ( Angle > 8, Angle <= 9 ) { TOP = ( Angle * 2.01); LEFT = (Angle * 0.87); } else if ( Angle > 9, Angle <= 9.5 ) { TOP = (Angle * 1.96); LEFT = (Angle * 0.83); } else if ( Angle > 9.5, Angle <= 10 ) { TOP = (Angle * 1.92); LEFT = (Angle * 0.815); } else if ( Angle > 10, Angle <= 10.5 ) { TOP = (Angle * 1.90); LEFT = (Angle * 0.80); } else if ( Angle > 10.5, Angle <= 11 ) { TOP = ( Angle * 1.88); LEFT = (Angle * 0.785); } else if ( Angle > 11, Angle <= 11.5 ) { TOP = ( Angle * 1.86); LEFT = (Angle * 0.77); } else if ( Angle > 11.5, Angle <= 12 ) { TOP = (Angle * 1.83); LEFT = (Angle * 0.755); } else if ( Angle > 12, Angle <= 12.5 ) { TOP = (Angle * 1.81); LEFT = (Angle * 0.74); } else if ( Angle > 12.5, Angle <= 13 ) { TOP = ( Angle * 1.79); LEFT = (Angle * 0.725); } else if ( Angle > 13, Angle <= 13.5 ) { TOP = ( Angle * 1.77); LEFT = (Angle * 0.708); } else if ( Angle > 13.5, Angle <= 14 ) { TOP = ( Angle * 1.74); LEFT = (Angle * 0.695); } else if ( Angle > 14 ) { alert ( " LE RESULTAT N EST PAS GARANTIT AU DESSUS D UN ANGLE DE 14 DEGRES !!!! " + "\n" + "\r" + "\r" + "\t" + " Vous devriez prendre le temps de CADRER CORRECTEMENT ??? " ); TOP = ( Angle * 1.72); LEFT = (Angle * 0.680); } } //TOP = parseInt( TOP ); //LEFT = parseInt(LEFT ); PortPays(); function PortPays() { //******************************************************************************************* // si l image est en PAYSAGE : if ( app.activeDocument.width / app.activeDocument.height > 1 ) { BOTTOM = 100 - TOP ; RIGHT = 100 - LEFT; TOPS = TOP; LEFTS = LEFT; RIGHTS = RIGHT; BOTTOMS = BOTTOM; } else { BOTTOM = 100 - TOP ; RIGHT = 100 - LEFT; TOPS = LEFT; LEFTS = TOP; RIGHTS = BOTTOM; BOTTOMS = RIGHT; } } //alert(TOPS); Selection() function Selection() { // Creation de la selection ( Prc = % a la place de Pxl ) qui se fait en pourcentage //alert(TOPS); desc52.putUnitDouble( id253, id254, TOPS ); var id255 = charIDToTypeID( "Left" ); var id256 = charIDToTypeID( "#Prc" ); desc52.putUnitDouble( id255, id256, LEFTS ); var id257 = charIDToTypeID( "Btom" ); var id258 = charIDToTypeID( "#Prc" ); desc52.putUnitDouble( id257, id258, BOTTOMS ); var id259 = charIDToTypeID( "Rght" ); var id260 = charIDToTypeID( "#Prc" ); desc52.putUnitDouble( id259, id260, RIGHTS ); var id261 = charIDToTypeID( "Rctn" ); desc51.putObject( id252, id261, desc52 ); executeAction( id248, desc51, DialogModes.NO ); // ======================================================= //ROGNER les pixels trensparents sur la copie de la selection var id910 = charIDToTypeID( "CpTL" ); executeAction( id910, undefined, DialogModes.NO ); // ======================================================= var id911 = charIDToTypeID( "Hd " ); var desc213 = new ActionDescriptor(); var id912 = charIDToTypeID( "null" ); var list16 = new ActionList(); var ref191 = new ActionReference(); var id913 = charIDToTypeID( "Lyr " ); var id914 = charIDToTypeID( "Bckg" ); ref191.putProperty( id913, id914 ); list16.putReference( ref191 ); desc213.putList( id912, list16 ); executeAction( id911, desc213, DialogModes.NO ); // ======================================================= var id915 = stringIDToTypeID( "trim" ); var desc214 = new ActionDescriptor(); var id916 = stringIDToTypeID( "trimBasedOn" ); var id917 = stringIDToTypeID( "trimBasedOn" ); var id918 = charIDToTypeID( "Trns" ); desc214.putEnumerated( id916, id917, id918 ); var id919 = charIDToTypeID( "Top " ); desc214.putBoolean( id919, true ); var id920 = charIDToTypeID( "Btom" ); desc214.putBoolean( id920, true ); var id921 = charIDToTypeID( "Left" ); desc214.putBoolean( id921, true ); var id922 = charIDToTypeID( "Rght" ); desc214.putBoolean( id922, true ); executeAction( id915, desc214, DialogModes.NO ); } docRef.flatten(); //aplatir les calques zoom0() function zoom0() { var id57 = charIDToTypeID( "slct" ); var desc15 = new ActionDescriptor(); var id58 = charIDToTypeID( "null" ); var ref6 = new ActionReference(); var id59 = charIDToTypeID( "Mn " ); var id60 = charIDToTypeID( "MnIt" ); var id61 = charIDToTypeID( "FtOn" ); ref6.putEnumerated( id59, id60, id61 ); desc15.putReference( id58, ref6 ); executeAction( id57, desc15, DialogModes.NO ); }
Informations de la discussion
Utilisateur(s) sur cette discussion
Il y a actuellement 1 utilisateur(s) naviguant sur cette discussion. (0 utilisateur(s) et 1 invité(s))
Discussions similaires
-
Redresser une photo
Par beber dans le forum Les Logiciels photoRéponses: 2Dernier message: 05/11/2007, 21h15 -
redresser des photos prises au grand angle
Par Gibson dans le forum Discussions généralesRéponses: 3Dernier message: 02/05/2007, 12h08 -
redresser une photo
Par regis dans le forum AlbumsRéponses: 11Dernier message: 04/10/2005, 06h28 -
redresser les fuyantes
Par Bousco Luno dans le forum Présentations & règlementsRéponses: 2Dernier message: 08/08/2005, 16h45





