Affichage des résultats 1 à 38 sur 38
Discussion: Redresser et recadrer en javascript
Mode arborescent
-
28/06/2008, 19h56 #25Membre
- 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
Et un petit dernier proportionnel et sans boites de dialogues qui utilise l outil trait :
RecadrageCropTrait.jsx
Je rajoute le code ici :
Code://REDRESSEMENT RECADRAGE avec PROPORTIONS utilisant l outil trait //J ai recupere la fonction qui permet de trouver l angle sur ps-cripts.com - une idee // de Patrick et Mike Hale dans ce topic : http://ps-scripts.com/bb/viewtopic.php?t=841 //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 12° - sans garantie apres ! Mettre le script RecadrageCropTrait.jsx dans ....\Adobe Photoshop CS2\Paramètres prédéfinis\Scripts et l appeler au moyen d un script .atn MODE D EMPLOI : Utiliser l outil Trait - Maj U - ( cliquez sur l outil Rectangle en maintenant le click et choisir l Outil Trait ) et tracer un trait pour determiner l angle de recadrage. Mon adresse email = hallun@free.fr - Faites moi part des bugs !!! */ var strtRulerUnits = preferences.rulerUnits preferences.rulerUnits = Units.PIXELS //largeur et hauteur de l image docH = activeDocument.width docV = activeDocument.height // reference open document var docRef = app.activeDocument; // find the angle from the line using the line tool ( en utilisant l outil trait ) Angle = findAngle(); Erreur() Negatif() if (Angle>45) { Angle = 90 - Angle; } // straighten the image = redresse l image docRef.rotateCanvas(Angle); // remove the line used for measuring angle = on supprime le trait et on aplatit docRef.activeLayer.remove(); docRef.flatten() AngleRedresse() RecadreAngle() app.preferences.rulerUnits = startRulerUnits app.preferences.typeUnits = startTypeUnits app.displayDialogs = startDisplayDialogs function AngleRedresse() { // Taille du recadrage en fonction de l angle de redressement - de 0° a 14 if ( Angle <= 1 ) { Angle0 = Angle * 1.26; } else if ( Angle > 1, Angle <= 2 ) { Angle0 = Angle * 1.26; } else if ( Angle > 2, Angle <= 3 ) { Angle0 = Angle * 1.22; } else if ( Angle > 3, Angle <= 4 ) { Angle0 = Angle * 1.19; } else if ( Angle > 4, Angle <= 5 ) { Angle0 = Angle * 1.15; } else if ( Angle > 5, Angle <= 6 ) { Angle0 = Angle * 1.13; } else if ( Angle > 6, Angle <= 7 ) { Angle0 = Angle * 1.09; } else if ( Angle > 7, Angle <= 8 ) { Angle0 = Angle * 1.06; } else if ( Angle > 8, Angle <= 9 ) { Angle0 = Angle * 1.04; } else if ( Angle > 9, Angle <= 10 ) { Angle0 = Angle * 1.01; } else if ( Angle > 10, Angle <= 11 ) { Angle0 = Angle * 0.98; } else if ( Angle > 11, Angle <= 11.5 ) { Angle0 = Angle * 0.96; } else if ( Angle > 11.5, Angle <= 12 ) { Angle0 = Angle * 0.95; } else if ( Angle > 12, Angle <= 12.5 ) { Angle0 = Angle * 0.94; } else if ( Angle > 12.5, Angle <= 13 ) { Angle0 = Angle * 0.93; } else if ( Angle > 13, Angle <= 14 ) { Angle0 = Angle * 0.92; } 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 ??? " ); alert ( " IL VAUT MIEUX REFAIRE PLUSIEURS FOIS CE SCRIPT AVEC UN ANGLE INFERIEUR ! ") Angle0 = Angle * 0.73; } } function Virgule() //Enleve la virgule de l angle copie et met un point a la place { SousChaine = ","; Resultat = Angle.indexOf(SousChaine); if(Resultat==-1) { Angle = Angle if ( isNaN(Angle)==true ) { Angle = Window.prompt( 'ERREUR : ' + 'DONNER L ANGLE ' + "\n" + "\n" + "de 1 a 100 " ); Erreur() } } else { i = Resultat + 1; Resultat2 = Angle.substring(i, i+8) j = Resultat - 1; Resultat1 = Angle.substring(j+1, j - 8) Point = "." Angle = (Resultat1 + Point + Resultat2) if ( isNaN(Angle)==true ) { Angle = Window.prompt( 'ERREUR : ' + 'DONNER L ANGLE ' + "\n" + "\n" + "de 1 a 100 " ); Erreur() } } } function Erreur() // remplace le point la virgule de l angle par un point { if ( isNaN(Angle)==true ) { Virgule() } } function Negatif() //si l angle est negatif le remet en positif { if ( Angle < 0 ) { Angle = - Angle; } else { Angle = Angle; } } function RecadreAngle() { Angle1 = Angle0*docH/100 Angle2 = Angle0*docV/100 LEFT = Angle1 TOP = Angle2 docRef.resizeCanvas( docH - 2*LEFT,docV - 2*TOP) docRef.trim(TrimType.TOPLEFT, true, false, true, false) } function findAngle(){ var lineStart = activeDocument.pathItems[0].subPathItems[0].pathPoints[0].anchor; var lineEnd = activeDocument.pathItems[0].subPathItems[0].pathPoints[3].anchor; var a = Math.abs(lineStart[0]-lineEnd[0]); var o = Math.abs(lineStart[1]-lineEnd[1]); var c = (180/Math.PI) * Math.atan2(o,a); if(lineStart[1] < lineEnd[1]){//negative angle c = -c; }; return c; };
:blink:
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





