web-dev-qa-db-fra.com

Différence entre UiImage et UiImageView

Quelle est la différence entre UIImage et UIImageView? Quelqu'un peut-il l'expliquer avec un exemple?

31
ARC

Exemple:

UIImage *bgImage = [UIImage imageNamed:@"[email protected]"];
UIImageView *backgroundImageView = [[UIImageView alloc] initWithImage:bgImage];
backgroundImageView.frame = [[UIScreen mainScreen] bounds];

UIImage aperç :

Un objet UIImage est un moyen de haut niveau d'afficher des données d'image. Vous pouvez créer des images à partir de fichiers, à partir d'objets d'image de quartz ou à partir de données d'image brutes que vous recevez. La classe UIImage offre également plusieurs options pour dessiner des images dans le contexte graphique actuel en utilisant différents modes de mélange et valeurs d'opacité.

Les objets d'image sont immuables, vous ne pouvez donc pas modifier leurs propriétés après la création. Cela signifie que vous spécifiez généralement les propriétés d'une image au moment de l'initialisation ou comptez sur les métadonnées de l'image pour fournir la valeur de la propriété. Dans certains cas, toutefois, la classe UIIMAGE fournit des méthodes de commodité pour obtenir une copie de l'image qui utilise des valeurs personnalisées pour une propriété.

Étant donné que les objets d'image sont immuables, ils ne fournissent également pas d'accès direct à leurs données d'image sous-jacentes. Cependant, vous pouvez obtenir un objet NSData contenant une représentation PNG ou JPEG des données d'image à l'aide des fonctions UIImagePNGRepresentation et UIImageJPEGRepresentation fonctions.

Le système utilise des objets d'image pour représenter des images fixes prises avec l'appareil photo sur les périphériques pris en charge. Pour prendre une photo, utilisez la classe UiImagePickerController. Pour enregistrer une image à l'album de photos enregistré, utilisez la fonction UIImageWriteToSavedPhotosAlbum.

UIImageView aperç :

Un UIImageView fournit un conteneur à vue permettant d'afficher une seule image ou d'animation d'une série d'images. Pour animer les images, la classe UIImageView fournit des commandes pour définir la durée et la fréquence de l'animation. Vous pouvez également commencer et arrêter l'animation librement.

De nouveaux objets de vue d'image sont configurés pour ignorer les événements utilisateur par défaut. Si vous souhaitez gérer les événements dans une sous-classe personnalisée de UIImageView, vous devez modifier explicitement la valeur de la propriété userInteractionEnabled sur YES après l'initialisation de l'objet.

Lorsqu'un objet UIImageView affiche l'une de ses images, le comportement réel est basé sur les propriétés de l'image et de la vue. Si l'une des propriétés de l'image leftCapWidth ou topCapHeight est non nulle, l'image est étirée en fonction des valeurs de ces propriétés. Sinon, l'image est à l'échelle, dimensionnée pour s'adapter ou positionnée dans la vue d'image en fonction de la propriété contentmode de la vue. Il est recommandé (mais non obligatoire) que vous utilisez des images de la même taille. Si les images sont différentes tailles, chacune sera ajustée pour s'adapter séparément en fonction de ce mode.

Toutes les images associées à un objet UIImageView doivent utiliser la même échelle. Si votre application utilise des images avec des échelles différentes, elles peuvent rendre mal.

29
chown

En bref: vous créez une instance de UIImage objet pour contenir les données de l'image, comme ceci:

 NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"/picture.jpg"]; //assuming your image is in your app's bundle
UIImage *img = [[UIImage alloc]initWithContentsOfFile:sourcePath];

Vous créez ensuite une instance de UIImageView via ib ou code pour afficher votre image à l'écran, comme ceci:

[imageView1 setImage:img];  //assume you already create an instance of UIImageView named imageView1
13
user523234

UIImage contient les données d'une image. UIImageView est une vue personnalisée destinée à afficher le UIImage.

13
Geekswordsman

UIImage Objets Stockez les données d'une image (c'est-à-dire des données d'un fichier PNG)

UIImageView Les objets sont utilisés pour afficher un UIImage

7
eazimmerman

UIImage est un objet de données qui contient des octets d'image.

UIImageView est un contrôle qui affiche UIImage données.

5
logancautrell

UiImage contient les données comme (images) et l'affiche sur UiImageView.

UiImageView est un type de conteneur pour afficher des images.

0
Kaviraj Pandey
UIImageView *myImage = [[UIImageView alloc]init];
[myImage setImage:[UIImage imageNamed:@"1.png"]];

créer une instance pour UiImageView comme "MyImage". C'est une aide pour les données distinctives.UIImage aide à contenir les données de 1.png à partir du fichier d'actifs dans Xcode.

0
kurupareshan

UiImage est un objet qui stocke des données (JPG, PNG ...) et de la classe UiImageView qui contient UIImage en tant que propriété. UIImageView peut avoir plusieurs uiimages et UIImage est immuable. Cela m'a dérangé il y a longtemps, pourquoi quand vous créez une image que vous faites: Var Image: UiImageView!

mais quand vous exécutez que "image", vous faites image.Image = uiimage.init (nommé: "Image") C'est vraiment facile, vous utilisez UiImageView, pour créer une image avec UIIMAGE :) UIImage Affiche l'image et UiImageView est conteneur pour cet uImage

0