Voici le code permettant la définition et l'affichage d'une image :
Code : Objective-C | UIImage *img = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"petitchat" ofType:@"jpg"]];
CGRect cropRect = CGRectMake(0, 0, 160, 240);
CGImageRef imageRef = CGImageCreateWithImageInRect([img CGImage], cropRect);
UIImageView *monImage = [[UIImageView alloc] initWithFrame:CGRectMake(150, 10, 160, 240)];
monImage.image = [UIImage imageWithCGImage:imageRef];
[self.view addSubview:monImage];
CGImageRelease(imageRef);
|
L'image à afficher doit avoir été préalablement placée dans les ressources de l'application. Je ne vous dis pas comment faire, vous devriez le savoir.
Le code utilisé pour afficher une image est légèrement plus complexe que les précédents. Ceci est dû au fait que l'affichage d'une image nécessite un plus grand nombre d'étapes.
- Création d'un objet UIImage, puis stockage de l'image dans cet objet.
- Définition d'un objet UIImageView.
- Définition d'une structure CGImageRef pour regrouper les informations relatives à l'image.
- Affectation de l'objet CGImageRef à l'UIImageView.
- Ajout de l'Image View à la vue courante.
La première instruction définit l'objet
UIImage img et l'initialise avec l'image « petitchat.jpg » :
Code : Objective-C | UIImage *img = [UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"petitchat" ofType:@"jpg"]];
|
Pour afficher une image, vous devez utiliser un
Image View. L'instruction suivante définit l'objet
UIImageView monImage, ainsi que sa position (150, 10) et ses dimensions (160, 240) :
Code : Objective-C | UIImageView *monImage = [[UIImageView alloc] initWithFrame:CGRectMake(150, 10, 160, 240)];
|
Pour initialiser l'objet
Image View qui vient d'être instancié, vous devez définir ses dimensions dans une structure
CGRect :
Code : Objective-C | CGRect cropRect = CGRectMake(0, 0, 160, 240);
|
Puis utiliser ces dimensions et l'objet
UIImage précédemment créé pour définir une structure
CGImageRef :
Code : Objective-C | CGImageRef imageRef = CGImageCreateWithImageInRect([img CGImage], cropRect);
|
Il ne reste plus qu'à affecter la structure
CGImageRef à la propriété
image de l'
Image View :
Code : Objective-C | monImage.image = [UIImage imageWithCGImage:imageRef];
|
Et à ajouter cet
Image View à la vue courante :
Code : Objective-C | [self.view addSubview:monImage];
|
La dernière instruction supprime l'objet
CGImageRef de la mémoire. Une fois l'image affichée, celui-ci n'a en effet plus aucun intérêt :
Code : Objective-C | CGImageRelease(imageRef);
|
Une fois encore, je vous invite à consulter la documentation Apple pour prendre connaissance des propriétés des objets
UIImage et
UIImageView, et donc pour avoir un aperçu de ce qu'il est possible de faire avec ces objets.