enregistrer image à partir image view

carmodelisme

Membre enregistré
18 Janvier 2006
9
0
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
 
A

Anonyme

Invité
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 :
Bloc de 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 :
Bloc de code:
	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

Membre enregistré
18 Janvier 2006
9
0
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 ?
 
A

Anonyme

Invité
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
Bloc de code:
on awake from nib theObject     
       set image of theObject to load image "le nom de l'image"
end awake from nib