Affichage des résultats 1 à 45 sur 130
Discussion: Script Photoshop et les infos EXIF
Mode arborescent
-
13/10/2008, 12h01 #20
- Inscription
- July 2004
- Localisation
- Le Puy en Velay 43
- Âge
- 71
- Messages
- 100
- Boîtier
- 5 D II
- Objectif(s)
- Canon 24-105 F4 IS, Canon 70-200 F4
Bonjour à tous,
j'ai réglé pour ma part le problème.
En fait les exifs issus des fichiers Jpg que ce soit brut de capteur, réalisés avec DPP, Camera Raw (CS3), ou encore DXO ne sont pas placés aux mêmes endroits. Ce qui m'a ammené à créer 4 fichiers jsx différents, un pour chaque cas.
J'ai donc repris le fichier de base sous le notepad windows de ? (désolé, mais vu la longueur du post, je ne m'en souviens plus) puis je l'ai renommé en .jsx pour chacun des programmes que j'utilise.
Exifs Jpg sortis du boitier (PDV en JPG)
#target photoshop
app.bringToFront();
var thisDoc=app.activeDocument;
// Pas de questions pendant le script
displayDialogs = DialogModes.NO;
// On sauvegarde et met en place les unitÈs de mesure
var defaultRulerUnits = preferences.rulerUnits;
preferences.rulerUnits = Units.PIXELS;
var defaultTypeUnits = preferences.typeUnits;
preferences.typeUnits = TypeUnits.PIXELS;
// Quelques variables fort utiles pour la suite
var AD = activeDocument;
var black = new SolidColor();
black.rgb.red = black.rgb.green = black.rgb.blue = 0;
var white = new SolidColor();
white.rgb.red = white.rgb.green = white.rgb.blue = 255;
backgroundColor = black;
// Récupération des Exifs
var exif_info="Canon EOS 20D"; // Changer le modele si besoin...
// Vitesse
var e = 16;
try {
exif_info = exif_info + " - " + thisDoc.info.exif[e][1]; //exif_info + thisDoc.info.exif[e][0] + " = " + thisDoc.info.exif[e][1] + "\r";
}
catch (e) {}
// Ouverture
var e = 10;
try {
exif_info = exif_info + " - " + thisDoc.info.exif[e][1]; //exif_info + thisDoc.info.exif[e][0] + " = " + thisDoc.info.exif[e][1] + "\r";
}
catch (e) {}
// Isos
var e = 12;
try {
exif_info = exif_info + " - " + thisDoc.info.exif[e][1] + " iso"; //exif_info + thisDoc.info.exif[e][0] + " = " + thisDoc.info.exif[e][1] + "\r";
}
catch (e) {}
// Distance focale
var e = 21;
try {
exif_info = exif_info + " - " + thisDoc.info.exif[e][1]; //exif_info + thisDoc.info.exif[e][0] + " = " + thisDoc.info.exif[e][1] + "\r";
}
catch (e) {}
// Reglage des distances
var Off7 = 6; // Distance entre le texte et le cadre
var Undent = 4; // Distance entre le cadre et le bord de la photo
var TxtSize = 64; // Taille du texte
// On crÈe un nouveau calque texte
var infoLayer = AD.artLayers.add();
infoLayer.kind = LayerKind.TEXT;
infoLayer.name = "Exif WM - Texte"
var TI = infoLayer.textItem;
TI.font = "arial";
TI.size = TxtSize;
TI.color = white;
TI.contents = exif_info
TI.kind = TextType.PARAGRAPHTEXT;
TI.nobreak = true;
// On rÈcupËre la taille du texte
var TextWidth = (infoLayer.bounds[2]-infoLayer.bounds[0]);
var TextHeight = (infoLayer.bounds[3]-infoLayer.bounds[1]);
var TextLeft = AD.width-(TextWidth + Off7 * 2 + Undent);
var TextTop = AD.height-(TextHeight + Off7 * 2 + Undent);
// Et on le dÈplace en bas ‡ gauche, position calculÈes avec les distances mises en place plus haut
TI.position = [TextLeft,TextTop];
// On crÈe un nouveau calque, pour y dessiner notre cadre
var CadreLayer = AD.artLayers.add();
CadreLayer.name = "Exif WM - Cadre";
var CadreRight = TextLeft + TextWidth + Off7;
var CadreBottom = TextTop + TextHeight + Off7;
// cadre dont la taille et la position sont calculÈes selon celles du texte
var selectionBounds = [[TextLeft-Off7, TextTop-Off7], [CadreRight, TextTop-Off7], [CadreRight, CadreBottom], [TextLeft-Off7, CadreBottom]];
// On crÈe une sÈlection (le 2 correspond a l'arrondi des angles...)
AD.selection.select(selectionBounds,SelectionType. REPLACE,2,false);
// On la remplis d'un aplat de noir visible (65 correspond a l'opacité)
AD.selection.fill(black,ColorBlendMode.VIVIDLIGHT, 65);
// On place le texte au dessus du cadre ( pour qu'il ne soit pas affectÈ par l'aplat noir )
infoLayer.move(CadreLayer,ElementPlacement.PLACEBE FORE);
// On lie les deux calques ( ils bougeront ensemble )
// CadreLayer.link(infoLayer);
// on remet en place les unitÈs de mesure sauvegardÈes
preferences.rulerUnits = defaultRulerUnits;
preferences.typeUnits = defaultTypeUnits;
// applatir les calques
// AD.flatten();
//DESELECTIONNER ( rajout du a la suppression du contour blanc )
var id2111 = charIDToTypeID( "setd" );
var desc232 = new ActionDescriptor();
var id2112 = charIDToTypeID( "null" );
var ref108 = new ActionReference();
var id2113 = charIDToTypeID( "Chnl" );
var id2114 = charIDToTypeID( "fsel" );
ref108.putProperty( id2113, id2114 );
desc232.putReference( id2112, ref108 );
var id2115 = charIDToTypeID( "T " );
var id2116 = charIDToTypeID( "Ordn" );
var id2117 = charIDToTypeID( "None" );
desc232.putEnumerated( id2115, id2116, id2117 );
executeAction( id2111, desc232, DialogModes.NO );
Pour DPP, Caméra Raw CS3 et DXO, je suis prêt à vous les fournir si vous êtes interressés, mais je ne sais pas uploader les fichiers.
En espérant vous avoir rendu service...
Bernard
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
-
Voir les infos exif sans ouvrir l'image
Par titerm dans le forum Autres logicielsRéponses: 33Dernier message: 06/11/2009, 09h41 -
[AIDE] infos iptc et exif
Par olivebrazil dans le forum Discussions généralesRéponses: 4Dernier message: 02/12/2007, 20h04 -
Renommer vos images par lot avec les infos EXIF
Par LeCelte dans le forum Les Logiciels photoRéponses: 9Dernier message: 22/11/2006, 18h13 -
Identification d'un objectif dans les infos Exif ?
Par Scoubi1er dans le forum DXORéponses: 9Dernier message: 23/12/2005, 12h59