Affichage des résultats 1 à 38 sur 38
Discussion: Redresser et recadrer en javascript
Vue hybride
-
19/01/2008, 09h01 #1
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Redresser et recadrer en javascript
Ce script sert a redresser l image et a la recadrer et fonctionne avec le script ANGLE_MESURE.atn
Je l ai calibre a peu pres jusqu a un angle de 11° - sans garantie apres !
Mettre ANGLE_MESURE.atn dans ..... \Adobe Photoshop CS2\Paramètres prédéfinis\Scripts Photoshop
et MesureRecadrage11.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.
Une fenetre s ouvre avec l angle mesure - copiez cet angle avec la souris.
Faites OK.
Une autre fenetre s ouvre alors ou vous copiez l angle mesure.
Faites OK.
Vous pouvez enregistrer et fermer l image en supprimant les balises /* et */ a la fin de ce script !
ECHANGES
Faites moi part des bugs !!!
:blink:
-
19/01/2008, 17h26 #2
- Inscription
- January 2007
- Localisation
- Biarritz
- Âge
- 38
- Messages
- 210
- Boîtier
- Canon EOS 400D | 430Ex
- Objectif(s)
- 17-50 2.8 Tamron | 70-200 4 L USM | EFS 18-55 du kit
Soit j'ai pas compris un truc soit c'est une différence entre la version Mac et PC (une de plus ?)
Quand on utilise l'outil mesure (la petite règle) l'angle s'affiche dans la barre supérieure de Photoshop, pas dans une fenêtre qui apparaît après la mesure.
Voici a quoi ça ressemble :
J'ai pas fais ce qu'il fallait ?
D'ailleurs je me demandais comment récupérer cette valeur... si jamais...
-
19/01/2008, 17h42 #3
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Il faut d abord que recuperes le fichier .zip que je viens de rectifier car il contenait des bugs venant des commentaires que j avais ajoute apres mes essais.
Est ce que mon script .atn te donnes l angle dans une boite de dialogue ?
Sinon tu le supprime du script .jsx et tu rentre la valeur lue dans la boite suivante sans le signe
:blink:
-
19/01/2008, 17h44 #4
-
19/01/2008, 17h49 #5
-
19/01/2008, 17h52 #6
-
19/01/2008, 17h54 #7
- Inscription
- June 2007
- Localisation
- France
- Âge
- 73
- Messages
- 1 211
- Boîtier
- 1DMKIII, 5D MKII
- Objectif(s)
- MPE65,16-35,50,24-105,100macro,70-200,180macro,100-400.EX2,MRT24EX,580EXII,580EXII
bravo pour ce travail
pour beotien
ok j'ai pigé, essai fait à 11° petite erreur de recadrement en payage, il reste un noir an haut à gauche.
ce script est super.
en le désossant rapidement, tu recalcules la hauteur et la largeur pour paysage ou portrait.
la longueur du trait de départ est elle prise en compte pour ces calculs ?
-
19/01/2008, 17h58 #8
-
19/01/2008, 18h12 #9
- Inscription
- June 2007
- Localisation
- France
- Âge
- 73
- Messages
- 1 211
- Boîtier
- 1DMKIII, 5D MKII
- Objectif(s)
- MPE65,16-35,50,24-105,100macro,70-200,180macro,100-400.EX2,MRT24EX,580EXII,580EXII
Bonsoir mac64 j esuis sur PC en Xp version photo shop CS2
-
19/01/2008, 17h51 #10
- Inscription
- January 2007
- Localisation
- Biarritz
- Âge
- 38
- Messages
- 210
- Boîtier
- Canon EOS 400D | 430Ex
- Objectif(s)
- 17-50 2.8 Tamron | 70-200 4 L USM | EFS 18-55 du kit
Quand je lance "script 104" il m'ouvre la fenetre de rotation de la zone de travail avec la valeur de l'angle dedans...
Donc cette partie ne doit servir a rien car ca se fait déja tout seul en temps normal... ou j'ai pas suivi un épisode
Quand je lance script recadrage 11, après m'avoir demandé de taper l'angle, il me fait une erreur 2 bottom non défini
Line 269
-> var TOP = 100 - BOTTOM
-
19/01/2008, 21h37 #11
- Inscription
- January 2007
- Localisation
- Biarritz
- Âge
- 38
- Messages
- 210
- Boîtier
- Canon EOS 400D | 430Ex
- Objectif(s)
- 17-50 2.8 Tamron | 70-200 4 L USM | EFS 18-55 du kit
J'ai remplacé Bottom par var bottom
J'ai une erreur 1244 Argument illegal - argument 3
Valeur numérique attendue
line 272
desc52.putUnitDouble(id253,id254, TOP);
Si jamais... enfin te prend pas trop la tete la dessus non plus
-
20/01/2008, 09h13 #12
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Je viens d alleger le script de moitie et il devrait marcher pour les nombres negatifs :
SCRIPT
Mac64 ce bout de code devrait te permettre de tester " BOTTOM " et " TOP " en utilisant les valeur 1 et 2 pour les angles :
Code:// ======================================================= 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" ); var BOTTOM = 90; // Var BOTTOM = 100 - Angle; var Angle = Window.prompt( 'DONNER un POURCENTAGE ' + "\n"+ "\n" + "de 1 a 100 "); if ( Angle <= 1 ) { var BOTTOM = 99 - Angle*1.5; var LEFT = Angle*1.5; alert ( "ANGLE 1 = " + Angle + " " + "BOTTOM = " + BOTTOM + " " + "LEFT = " + LEFT + " ") } else if ( Angle>1, Angle <=2 ) { var BOTTOM = 98 - Angle*1.5; var LEFT = Angle*1.3; alert ( "ANGLE 2 = " + Angle + " " + "BOTTOM = " + BOTTOM + " " + "LEFT = " + LEFT + " ") } var TOP = 100 - BOTTOM; var RIGHT = 100 - LEFT; desc52.putUnitDouble( id253, id254, TOP); var id255 = charIDToTypeID( "Left" ); var id256 = charIDToTypeID( "#Prc" ); desc52.putUnitDouble( id255, id256, LEFT ); var id257 = charIDToTypeID( "Btom" ); var id258 = charIDToTypeID( "#Prc" ); desc52.putUnitDouble( id257, id258, BOTTOM ); var id259 = charIDToTypeID( "Rght" ); var id260 = charIDToTypeID( "#Prc" ); desc52.putUnitDouble( id259, id260, RIGHT ); var id261 = charIDToTypeID( "Rctn" ); desc51.putObject( id252, id261, desc52 ); executeAction( id248, desc51, DialogModes.NO );
-
20/01/2008, 10h47 #13
-
20/01/2008, 10h50 #14
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
C est un bon debut. Et avec 2 ?
-
20/01/2008, 10h56 #15
-
20/01/2008, 10h54 #16
- Inscription
- January 2007
- Localisation
- Biarritz
- Âge
- 38
- Messages
- 210
- Boîtier
- Canon EOS 400D | 430Ex
- Objectif(s)
- 17-50 2.8 Tamron | 70-200 4 L USM | EFS 18-55 du kit
Je me pose une petite question, Avec ton script si j'ai bien compris ça recarde pour garder "le maximum" de pixels (et ça ne respecte donc pas le ratio 10 par 15)
C'est bien ça ?
Est ce qu'il serait pas possible d'utiliser les cosinus et compagnie pour déterminer la zone max que l'ont peut récupérer après rotation mais tout en conservant le ratio 10 par 15
En fait faire ce que fait Cameraraw par défaut quand on utilise le redressement
Il suffirait juste que le script fasse une "pause" pour qu'on choisisse quelle partie de l'image on veut garder et le tour serait joué
C'est peut etre ce que fait le script quand il fonctionne normalement.. je sais pas
-
20/01/2008, 11h07 #17
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
C est faisable je pense mais quand je recadre apres redressement je ne m occupe pas du ratio c est pourquoi je l ai concu comme cela !
J ai fait des essais ce matin avec sinus et cosinus sans succes ( sinus 4 5 .. passent en negatif par moment ) - a voir
R: l appellation du sinus est " Math.sin " ex : Math.sin(Angle)
Si cela marche avec le 2 prends le nouveau script ( plus court ) et mets des balises /* */ pour isoler une partie des else if et voir ou cela accroche ?
-
22/01/2008, 11h26 #18
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Mac64 je t envoie un script qui respecte le ratio :
REDRESSEMENT RECADRAGE RATIO
Il s arrete avec la selection ( boite de dialogue ) - il faut que l outil " Rectangle de selection " soit pret - tu deplaces la selection puis tu continues le script atn.
R : J ai ameliore les precedents sur les memes liens ( les recharger ).Dernière modification par beocien ; 22/01/2008 à 11h29.
-
05/02/2008, 18h30 #19
- Inscription
- October 2007
- Localisation
- Montpellier
- Âge
- 41
- Messages
- 37
- Boîtier
- EOS 300 argentique; EOS 400D
- Objectif(s)
- Basculer au numerique...
-
05/02/2008, 19h11 #20
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
Il faut absolument que tu charges dans la palette des scripts ( scripts atn ) le fichier ANGLE_MESURE.atn ( petite fleche en haut a droite de la palette des scripts ! ).:blink:
-
05/02/2008, 19h37 #21
- Inscription
- October 2007
- Localisation
- Montpellier
- Âge
- 41
- Messages
- 37
- Boîtier
- EOS 300 argentique; EOS 400D
- Objectif(s)
- Basculer au numerique...
Merci mais je me suis mis sur lightroom et j'ai trouvé comment ca fonctionne!Ca me redresse et recadre les photos tout seul!Magique ce lightroom!!
-
30/03/2008, 11h47 #22
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
A la suite de l effacement fortuit de mes 2 disques durs ( un moment de fatigue et un coup de doigt malencontreux en installant win98 sur un 3eme DD ! :censored: ) j ai tout reinstalle et mon script ne fonctionnait plus.
J ai fini par trouver : l angle que je copiait apparaissait avec un point et maintenant il apparait avec une virgule !:surprise:
Ce qui fait que pour le programme ce n est plus un nombre.
J ai resolu le probleme en rajoutant la fonction Virgule()
Code:function Virgule() { //Angle = "12,25" SousChaine = ","; Resultat = Angle.indexOf(SousChaine); if(Resultat==-1) { Angle = Angle } 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) } }
juste apres l appel de l angle :
Angle = Window.prompt( 'DONNER L ANGLE ' + "\n" + "\n" + "de 1 a 100 " );
Virgule()
Et j ai rectifie les scripts en telechargement. :blink:
-
30/03/2008, 11h50 #23
- Inscription
- January 2007
- Localisation
- Biarritz
- Âge
- 38
- Messages
- 210
- Boîtier
- Canon EOS 400D | 430Ex
- Objectif(s)
- 17-50 2.8 Tamron | 70-200 4 L USM | EFS 18-55 du kit
J'espère que t'avais une bonne sauvegarde :s
les problèmes de disque dur, la hantise en informatique...
A+
-
30/03/2008, 16h43 #24
-
27/06/2008, 17h52 #25
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- Messages
- 5 675
- Boîtier
- 1DX
- Objectif(s)
- 16x35 2.8 II 17x40 70x200 f/2.8 100x400 ecran calibre TAMRON 150-600
J ai fait quelques progres en javascript .........
J ai beaucoup allege les precedents et supprime l utilisation du script .atn
Comme toujours il faut les mettre dans ....\Adobe Photoshop CS2\Paramètres prédéfinis\Scripts
et les appeler par un script .atn ( j utilise la touche F7 pour m en servir )
L un est identique aux precedents pour les proportions - SelectFixe.jsx
L autre preserve les proportions de l image d origine - RecadrageCrop.jsx
:blink:
-
28/06/2008, 18h56 #26
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- 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:
-
02/07/2016, 20h36 #27
- Inscription
- December 2005
- Localisation
- Bayonne
- Âge
- 76
- 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, 20h15 -
redresser des photos prises au grand angle
Par Gibson dans le forum Discussions généralesRéponses: 3Dernier message: 02/05/2007, 11h08 -
redresser une photo
Par regis dans le forum AlbumsRéponses: 11Dernier message: 04/10/2005, 05h28 -
redresser les fuyantes
Par Bousco Luno dans le forum Présentations & règlementsRéponses: 2Dernier message: 08/08/2005, 15h45