# enregistrer image à partir image view



## carmodelisme (6 Octobre 2010)

Bonjour
Dans interface builder, j'ai drag and dropé une photo dans une "image view".

A partir d'Xcode et Applescript, je voudrais sauvegarder cette image dans un dossier mais la fonction " save image of image view..... ne fonctionne pas.

J'ai lu quelque part que l'on pouvait le faire en entrant une fonction en C...

Y-a-t'il plus simple ou quelle est cette fonction en C ?

Merci


----------



## Anonyme (6 Octobre 2010)

carmodelisme a dit:


> Bonjour
> J'ai lu quelque part que l'on pouvait le faire en entrant une fonction en C...


Où est-ce quelque part ?


Voici un exemple pour enregistrer une image d'une image view dans un fichier au format TIFF

Il faut créer un OBjective-C class (menu "*New File*" --> cocoa  --> *OBjective-C class*) avec comme nom  "methodes" :

Dans  *methodes.h* : ne rien modifier
Dans  *methodes.m* : copier et coller ce code :

```
#import "methodes.h"

@implementation methodes

+(BOOL)saveImage:(NSImage *)t_img toPath:(NSString *)t_path {
	NSData *tiffData = [t_img TIFFRepresentation];
	return [tiffData writeToFile:t_path atomically:YES];
}

@end
```

Pour appeler cette méthode en AppleScript :

```
set leChemin to "/Users/jack/Desktop/image.tif"
	set t_Image to image 1 of image view "image" of window "main"
	set x to call method "saveImage:toPath:" of class "methodes" with parameters {t_Image, leChemin}
	if x = 0 then
		-- erreur lors de l'enregistrement de l'image 
	end if
```


----------



## carmodelisme (6 Octobre 2010)

bonjour et merci Mac_Jac
Je vais essayer cela dans l'après midi.

cordialement
Marc

---------- Nouveau message ajouté à 17h54 ---------- Le message précédent a été envoyé à 17h36 ----------

Bon j'ai testé et problème :

J'ai un message d'erreur qui me dit : Applescript Error
NSInternalScriptError (8)

et dans la fenêtre Run Log : 
[Session started at 2010-10-06 17:52:13 +0200.]
2010-10-06 17:52:16.431 Call Methods[6570] *** -[NSUniqueIDSpecifier TIFFRepresentation]: selector not recognized [self = 0x16f0c320]
2010-10-06 17:52:16.432 Call Methods[6570] *** -[NSUniqueIDSpecifier TIFFRepresentation]: selector not recognized [self = 0x16f0c320]

Aurais-je commis une erreur quelque part ?


----------



## Anonyme (6 Octobre 2010)

L'image doit être inséré par la commande load image, l'image par drag/drop dans *Interface builder* ne fonctionnera pas.

Donc, ajoute ton image dans ton projet Xcode.
Dans  le awake from nib de l'image view, tu insére l'image, exemple

```
on awake from nib theObject     
       set image of theObject to load image "le nom de l'image"
end awake from nib
```


----------

