Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/09/2011, 17h02   #1
Invité de passage
 
Inscription : mars 2009
Messages : 4
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 4
Points : 0
Points : 0
Par défaut accent avec un script en Javascript

Bonjour,

j'ai un problème avec un script qui me permet de créer un calque texte sous photoshop avec seulement une partie du nom du fichier (le prénom seulement pour un nom de fichier du style : NOM Prénom classe.jpg) :


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
////////////////////////////////////////////////////////////////////////////
///// Script de crÈation d'un calque texte 
///// contenant le nom du fichier utilisÈ
///// 
///// © CÈdric Girard - <a href="http://blog.aube-nature.com" target="_blank">http://blog.aube-nature.com</a>
/////////////////////////////////////////////////////////////////////////////
 
#target photoshop					// Script dÈdiÈ ‡ Photoshop
 
app.bringToFront();					// On place Photoshop au premier plan
displayDialogs = DialogModes.NO;	// DÈsactivation des boÓtes de dialogue
 
// Sauvegarde des unitÈs de mesure en cours, et passage en pixels par dÈfaut
var oRulerUnits = preferences.rulerUnits;
var oTypeUnits = preferences.typeUnits;
preferences.rulerUnits = Units.PIXELS;
preferences.typeUnits = TypeUnits.PIXELS;
 
try
{
	var DocActif = activeDocument;		// Document actif (image ouverte au premier plan)
 
	// DÈfinition d'une variable dÈfinissant une couleur blanche, que nous utiliseront plus loin
    var colorBlanc = new SolidColor();
    colorBlanc.rgb.red = 255;
	colorBlanc.rgb.blue = 255;
	colorBlanc.rgb.green = 255;
 
    // On crÈe un nouveau calque texte
    var oLayer = DocActif.artLayers.add();
    oLayer.kind = LayerKind.TEXT;		// Type de calque = calque de texte
    oLayer.name = "IPTC - Description";		// Nom du calque
    var oTextItem = oLayer.textItem;	// On dÈfinit une variable qui permettra de simplifier les accËs au calque de texte crÈÈ
    oTextItem.font = "Century gothic";	// DÈfinition de la police
    oTextItem.size = 14;				// DÈfinition de la taille de police
	oTextItem.color = colorBlanc;		// DÈfinition de la couleur du texte
 
////////////////////////////////////////////////////////////////////////////
////////// ZONE MODIFIABLE (insertion de votre texte)
////////////////////////////////////////////////////////////////////////////
//////////
function prenomExtension(fileName) {
 
 
  var m = fileName.match(/^\s*(([A-Z-]+\s+)+)([^0-9]+)(\s+[A-Za-z0-9_-]+)?\s*(\.[A-Za-z0-9_]{1,5})?$/);
 
 
  if(m) {
 
    return m[3]; // m[1] pour le nom, m[4] pour le nombre, tolère les noms composés (DUPONT ROBERT Pierre Charles 301), les noms de famille doivent être en majuscules
 
  }
 
  return fileName.replace(/\.[a-z0-9]{1,5}$/ig, '');
 
}
 
 
 
oTextItem.contents = prenomExtension(DocActif.name); // Contenu du texte 
 
 
//////////
//////////
////////////////////////////////////////////////////////////////////////////
 
    // Centrage du calque de texte au milieu de la compo (par dÈfaut)
    var LargeurTexte  = (oLayer.bounds[2] - oLayer.bounds[0]);	// Largeur du calque de texte
    var HauteurTexte = (oLayer.bounds[3] - oLayer.bounds[1]);	// hauteur du calque de texte
    oTextItem.position = [(DocActif.width-LargeurTexte) / 2, (DocActif.height-HauteurTexte) / 2];
 }
catch(oErreur)
{
	// Une erreur est survenue...
	alert( "Une erreur est survenue : " + oErreur.description)
}
 
// Remise en place des unitÈs de mesure initiales
preferences.rulerUnits = oRulerUnits;
preferences.typeUnits = oTypeUnits;
 
 
////////// FIN DU SCRIPT ///////////////////////////////////////////////////
Mon problème est quand il y a une lettre accentué en majuscule dans le nom et quand la classe est inscrite avec des lettres.

Merci si vous pouvez m'aider

Bien à vous

Philippe
philo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 08h16   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 039
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 039
Points : 45 140
Points : 45 140
http://j-willette.developpez.com/tut...-site-en-utf8/
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h25.


 
 
 
 
Partenaires

Hébergement Web