applescript et imagewell

  • Créateur du sujet Créateur du sujet ange
  • Date de début Date de début

ange

Membre actif
24 Janvier 2005
402
14
Vercors
Bonjour,

j'aime bien l'ombrage que fait facilement ImageWell (freeware leger d'imagerie), et je voulais scripter cette commande de façon à l'appliquer à plusieurs images : glisser plusieurs images sur le script et les images seraient transformées avec l'ombrage en plus.

Or le script suivant:
on open elementsdeposes
repeat with fichier in elementsdeposes
tell application "ImageWell"
open fichier
set dropshadow to 1
save fichier
end tell
end repeat
end open

me retourne lors de al sauvegarde :
can make alias "monfichier.png" of application "ImageWell" into type reference.

Et je ne comprends pas ! Pouvez vous m'aider ?

Merci,

Ange
 
ange a dit:
Bonjour,

j'aime bien l'ombrage que fait facilement ImageWell (freeware leger d'imagerie), et je voulais scripter cette commande de façon à l'appliquer à plusieurs images : glisser plusieurs images sur le script et les images seraient transformées avec l'ombrage en plus.

Or le script suivant:


me retourne lors de al sauvegarde :


Et je ne comprends pas ! Pouvez vous m'aider ?

Merci,

Ange

Je ne connais pas ImageWell mais a priori, tu aurait un probleme de parametre a la commande Save.
Que dit le dictionnaire d'ImageWell ?

Cordialement
 
Didier Guillion a dit:
la commande Save.
Que dit le dictionnaire d'ImageWell ?
Et bien il intègre la "standard suite" avec save, open, close...
sinon dans ses propres commandes, il a send ou export, mais je pense que save devait marcher. Ceci dit dans l'utilisation manuelle de Imagewell, il n'y a pas le menu "Enregistrer" (on glisse l'image sur le rep voulu), seulement un "enregistrer sous" classique. Serait-ce la raison ?

Merci de l'aide !

PS : Il y a un labo sur MacGe sur Imagewell... :up:
http://www.macg.co/mgnews/categories/labo/labo_115130_1.shtml



Ange.
 
Dans le dico tu as :

open?v : Open an object.
open alias : The file(s) to be opened.

et

save?v : Save an object.
save reference : the object for the command
[as Unicode text] : The file type in which to save the data.
[in alias] : The file in which to save the object.

Donc, il me semble, ce n'est pas "save filename" mais
"save object in filename"

Je vais plus loin ?

Cordialement
 
Ben, j'ai essayé cela :

save document in fichier

je n'ai plus de messages d'erreur, mais le résultat n'est pas sauvegardé ! (bien que visuellement dans l'interface je vois bien le travail se faire)

Et si je mets : save fichier in fichier -- j'obtiens toujours le même message (et je pense que cela est foireux comme commande)

enfin je ne sais pas quoi alors mettre d'autre ? (document ne marche pas -- je pensais que cela pouvait être le mot clef pour le document courant). Des idées ? Des conseils ?

Bref, je ne connais pas l'applescript et cela se voit. Moi qui croyais que cela était intuitif !

PS : et puis une fois que j'arriverai à sauvegarder, j'aimerai bien aussi que Imagewell quitte (et mes premiers essais sont aussi infructueux... ):(
 
ange a dit:
Ben, j'ai essayé cela :

save document in fichier

je n'ai plus de messages d'erreur, mais le résultat n'est pas sauvegardé ! (bien que visuellement dans l'interface je vois bien le travail se faire)

Et si je mets : save fichier in fichier -- j'obtiens toujours le même message (et je pense que cela est foireux comme commande)

enfin je ne sais pas quoi alors mettre d'autre ? (document ne marche pas -- je pensais que cela pouvait être le mot clef pour le document courant). Des idées ? Des conseils ?

Bref, je ne connais pas l'applescript et cela se voit. Moi qui croyais que cela était intuitif !

PS : et puis une fois que j'arriverai à sauvegarder, j'aimerai bien aussi que Imagewell quitte (et mes premiers essais sont aussi infructueux... ):(

J'ai fait le meme cheminement que toi sans plus de succes.

J'aurait ecrit de maniere "naturelle":

on open elementsdeposes
repeat with fichier in elementsdeposes
tell application "ImageWell"
set object to open fichier
set dropshadow to 1
save object in fichier
end tell
end repeat
end open

Mais ca marche pô.

Je continue a chercher.

Cordialement
 
Didier Guillion a dit:
J'ai fait le meme cheminement que toi sans plus de succes.

J'aurait ecrit de maniere "naturelle":

on open elementsdeposes
repeat with fichier in elementsdeposes
tell application "ImageWell"
set object to open fichier
set dropshadow to 1
save object in fichier
end tell
end repeat
end open

Mais ca marche pô.

Je continue a chercher.

Cordialement

Bonjour

Je regarde imagewell et dans sa barre des menus il n'y à que Enregistrer Sous...
Keystroke "s" ne peut donc pas être utilisé si plusieurs fichiers.

Donc il demande le chemin ou doit être enregistré le fichier.
Si à la sauvegarde du fichier on lui indique le chemin je pense que cela devrais marcher.

Je dit sans doute une bétise, mais il faut étudier toutes les possibilitées.

@+
 
ceslinstinct a dit:
Je regarde imagewell et dans sa barre des menus il n'y à que Enregistrer Sous...
Keystroke "s" ne peut donc pas être utilisé si plusieurs fichiers.
je ne comprends pas !?!

ceslinstinct a dit:
Donc il demande le chemin ou doit être enregistré le fichier.
Si à la sauvegarde du fichier on lui indique le chemin je pense que cela devrais marcher.

je ne comprends pas !?!

euh, des explications ?
 
Didier Guillion a dit:
Je pense que Cellinstin a cherché une solution consistant a piloter l'appli via des pseudos touche clavier.

Cordialement
Bonjour

J'ai repris le script mot à mot.

J'ai étudié ligne à ligne et dans le script je n'ai rien trouvé qui puisse me montrer que l'image est prète à être sauvé.
Donc si rien pas de sauvegarde.

Alors je place l'image dans le presse-papiers (c'est la seule façon que j'ai trouvé pour faire un test de bon fonctionnement)
Si l'on copie le presse-papiers dans un logiciel de dessin on à bien l'image à sauvegarder.

Maintenant je cherche comment sauvegarder l'image en fichier.

Si il y avait une commande dans ImageWell Enregistrer (avec un nom générique numéroté) pas de problème.
Ce qui à l'air d'être recherché c'est l'enregistrement de plusieurs images à la file sans aucune demande.

Mes façon de rechercher une solution (débile mais cela peut donner des idées aux spécialiste).
J'utilise des copies d'écran en PDF pour mes tests je suis pour l'instant avec Panther 10.3.9

Bloc de code:
[color=#0000FF][b]on[/b][/color] [color=#0000FF]open[/color] [color=#408000]elementsdeposes[/color]
	[color=#0000FF][b]set[/b][/color] [color=#408000]chemin[/color] [color=#0000FF][b]to[/b][/color] "Panther:Users:admin:Desktop:"
	[color=#0000FF][b]repeat[/b][/color] [color=#0000FF][b]with[/b][/color] [color=#408000]fichier[/color] [color=#0000FF][b]in[/b][/color] [color=#408000]elementsdeposes[/color]
		[color=#0000FF][b]tell[/b][/color] [color=#0000FF]application[/color] "ImageWell"
			[color=#0000FF]activate[/color]
			[color=#0000FF]open[/color] [color=#408000]fichier[/color]
			[color=#0000FF][b]set[/b][/color] [color=#0000FF]dropshadow[/color] [color=#0000FF][b]to[/b][/color] 1
		[color=#0000FF][b]end[/b][/color] [color=#0000FF][b]tell[/b][/color]
		[color=#0000FF][b]tell[/b][/color] [color=#0000FF]application[/color] "Image Events" --[color=#4C4D4D][i] Pour éviter d'avoir une image en mode texte[/i][/color]
			--[color=#4C4D4D][i] Sauvegarde dans le presse-papiers[/i][/color]
			[color=#0000FF][b]tell[/b][/color] [color=#0000FF]application[/color] "System Events" [color=#0000FF][b]to[/b][/color] [color=#0000FF]keystroke[/color] "C" [color=#0000FF]using[/color] {[color=#0000FF]shift down[/color], [color=#0000FF]command down[/color]}
			--[color=#4C4D4D][i] Ecriture dans la variable du fichier à sauvegarder[/i][/color]
			[color=#0000FF][b]set[/b][/color] [color=#408000]x[/color] [color=#0000FF][b]to[/b][/color] [color=#0000FF]the clipboard[/color]
			
			--[color=#4C4D4D][i] J'ai bien l'image dans le presse-papiers, mais aucun résultat ni erreur de signalé.[/i][/color]
			--[color=#4C4D4D][i] Cette ligne doit avoir des erreurs, elle ne fait pas son travail[/i][/color]
			[color=#0000FF]save[/color] [color=#0000FF]file[/color] [color=#408000]x[/color] [color=#0000FF]in[/color] [color=#408000]chemin[/color] & [color=#408000]fichier[/color] & ".PDF" [color=#0000FF]as[/color] [color=#0000FF]PDF[/color]
		[color=#0000FF][b]end[/b][/color] [color=#0000FF][b]tell[/b][/color]
	[color=#0000FF][b]end[/b][/color] [color=#0000FF][b]repeat[/b][/color]
[color=#0000FF][b]end[/b][/color] [color=#0000FF]open[/color]

J'ai posé une question hier pour savoir comment enregistrer le presse-papiers.

Je fait les recherche pour assayer de comprendre AppleScript, je ne suis pas un spécialiste.

J'utilise keystroke dans ce script, mais en réalidé je préfére key code qui est plus complet.

@+
 
Bonjour

Sous Panther 10.3.9 dans le presse-papiers l'image est la même que dans ImageWell.

Je vien de tester sous Tiger 10.4.6 et l'image est dans un gros cadre noir, donc inutilisable.

@+
 
Comme nous avons l'air bloqué :hein: ,
je viens d'écrire au support de Imagewell pour qu'ils nous aident !

Des infos ici dès que j'en ai !
 
ange a dit:
Comme nous avons l'air bloqué :hein: ,
je viens d'écrire au support de Imagewell pour qu'ils nous aident !

Des infos ici dès que j'en ai !

Bonjour

Je vien de faire un test sous 10.3.9 et ça marche.

La je n'ai pas 10.4.6 sur ce poste donc à tester.

Je passe par le presse-papiers, et le test est fait qu'avec une image.
Donc avec une routine repeat il faut ajouter un compteur pour numéroter les images.
Bloc de code:
[color=#0000FF][b]on[/b][/color] [color=#0000FF]open[/color] [color=#408000]elementsdeposes[/color]
	[color=#0000FF][b]tell[/b][/color] [color=#0000FF]application[/color] "ImageWell"
		[color=#0000FF]activate[/color]
		[color=#0000FF]open[/color] [color=#408000]elementsdeposes[/color]
		[color=#0000FF][b]set[/b][/color] [color=#0000FF]dropshadow[/color] [color=#0000FF][b]to[/b][/color] 1
	[color=#0000FF][b]end[/b][/color] [color=#0000FF][b]tell[/b][/color]
	
	[color=#0000FF][b]tell[/b][/color] [color=#0000FF]application[/color] "System Events" [color=#0000FF][b]to[/b][/color] [color=#0000FF]keystroke[/color] "C" [color=#0000FF]using[/color] {[color=#0000FF]shift down[/color], [color=#0000FF]command down[/color]}
	
	--[color=#4C4D4D][i] Ma question:[/i][/color]
	--[color=#4C4D4D][i] http://forums.macg.co/vbulletin/showthread.php?p=3772808#post3772808[/i][/color]
	
	[color=#0000FF][b]try[/b][/color]
		[color=#0000FF][b]set[/b][/color] [color=#408000]theData[/color] [color=#0000FF][b]to[/b][/color] [color=#0000FF]the clipboard[/color] [color=#0000FF]as[/color] [color=#0000FF]TIFF picture[/color]
	[color=#0000FF][b]on[/b][/color] [color=#0000FF][b]error[/b][/color]
		[color=#0000FF]display dialog[/color] "Erreur"
	[color=#0000FF][b]end[/b][/color] [color=#0000FF][b]try[/b][/color]
	[color=#0000FF][b]set[/b][/color] [color=#408000]theFile[/color] [color=#0000FF][b]to[/b][/color] ([color=#0000FF]path to[/color] [color=#0000FF]desktop[/color] [color=#0000FF]as[/color] [color=#0000FF]string[/color]) & "image.tiff"
	[color=#0000FF][b]set[/b][/color] [color=#408000]theFileRef[/color] [color=#0000FF][b]to[/b][/color] [color=#0000FF]open for access[/color] [color=#408000]theFile[/color] [color=#0000FF][b]with[/b][/color] [color=#0000FF]write permission[/color]
	[color=#0000FF][b]try[/b][/color]
		[color=#0000FF]write[/color] [color=#408000]theData[/color] [color=#0000FF]starting at[/color] 0 [color=#0000FF]to[/color] [color=#408000]theFileRef[/color]
	[color=#0000FF][b]end[/b][/color] [color=#0000FF][b]try[/b][/color]
	[color=#0000FF]close access[/color] [color=#408000]theFileRef[/color]
	[color=#0000FF][b]tell[/b][/color] [color=#0000FF]application[/color] "ImageWell" [color=#0000FF][b]to[/b][/color] [color=#0000FF]quit[/color]
[color=#0000FF][b]end[/b][/color] [color=#0000FF]open[/color]
Les images ne paraissent sur le bureau que quand on quitte ImageWell.

Ce n'est pas un code parfait, c'est juste pour montrer que c'est possible.

@+
 
Bloc de code:
on open theList
	repeat with x in theList
		tell application "ImageWell"
			activate
			open x
			set theFileName to filename
			set dropshadow to 1
			copy image
		end tell
		
		set theData to the clipboard as TIFF picture
		set theFile to (path to desktop as string) & theFileName & ".tiff"
		set theFileRef to open for access theFile with write permission
		write theData starting at 0 to theFileRef
		close access theFileRef
		
		tell application "Finder"
			set file type of (theFile as alias) to "TIFF"
			set creator type of (theFile as alias) to "prvw"
		end tell
	end repeat
	tell application "ImageWell" to quit
end open
Le script est également disponible ici (OS X 10.3 ou supérieur).
 
merci de ces réponses.

De son côté, l'équipe d'Imagewell m'a dit qu'ils chercheraient et me réponderaient, mais je n'ai aucune nouvelle !

Je vais essayer avec vos scripts et vous tiens au courant. Merci,

ange
 
ange a dit:
merci de ces réponses.

De son côté, l'équipe d'Imagewell m'a dit qu'ils chercheraient et me réponderaient, mais je n'ai aucune nouvelle !

Je vais essayer avec vos scripts et vous tiens au courant. Merci,

ange

Bonjour

Plus l'image est importante moins il y à de cadre.
Avec une image de 2590 x 1950 il n'y à pas de cadre et le script ne fonctionne pas.

J'ai testé sur des petites images et la tout fonctionne très bien.

Donc faire un test avec une image, si dans ImageWell on ne voit pas s'afficher le cadre donc on risque de ne pas avoir le résultat recherché.

Si l'on diminue la taille dans ImageWell de l'image en 2590 x 1950 en un format plus petit alors la ça fonctionne.

@+
 
ange a dit:
merci de ces réponses.

Bonjour

Ce qu'il faudrait savoir c'est le format de l'image encadré et ombré que tu recherche.
Je présume que c'est pas le format icône que tu recherche mais des images avec un cadre ombré.

Avec ImageWell plus le format est grand moins il y a de cadre ombré, donc il faut rechercher le format maxi avec le bon cadre ombré.
Puis avec le script reformater les images qui dépasse la taille maxi avant de les encadrer.

Du moins c'est ce que je pense, sauf erreur de ma part.

@+