Question

Je pense que je manque quelque chose vraiment basique ici. Si je le fais avec une URL / chemin juridique que je sais existe:

NSImage* img = [[NSImage alloc] initWithContentsOfFile:[[selectedItem url] path]];
NSLog(@"Image width: %d height: %d", [img size].width, [img size].height);

Puis-je obtenir rapporté à la console que la largeur est -2080177216 et la hauteur 0. Bien que je sache que la largeur est en fait 50 et la hauteur 50. J'essayé d'appeler isValid et il retourne OUI, et j'ai aussi essayé de vérifier la la taille de la première représentation et ramenaient les mêmes valeurs foiré. Comment se fait l'image ne se charge pas correctement?

Était-ce utile?

La solution

La méthode de size renvoie un NSSize, une structure dont les membres width et height sont de type float. Vous les traitez comme int. Utilisez %f et tout devrait bien se passer.

Autres conseils

Est-ce que cette aide?

setSize:

Définit la largeur et la hauteur de l'image.

- (void)setSize:(NSSize)aSize

Discussion:

La taille d'un objet NSImage doit être réglé avant qu'il ne puisse être utilisé. Si la taille de l'image n'a pas encore été réglée lors d'une représentation d'image est ajoutée, la taille est prise à partir des données de la représentation d'image. Pour les images EPS, la taille est tirée de la zone de délimitation de l'image. Pour les images TIFF, la taille est tirée de la imagelength et les attributs ImageWidth.

Modification de la taille d'un NSImage après qu'il a été utilisé de manière efficace redimensionne l'image. Modification de la taille de ses caches toutes Invalide et libère eux. Lorsque l'image est ensuite en composition, la représentation choisie se dessiner dans une fenêtre hors écran pour recréer le cache.

Disponibilité Disponible sous Mac OS X v10.0 et versions ultérieures. Voir aussi

Voir taille NSImage pas la taille réelle avec des images?

Vous devez itérer par NSImageRep et définir la taille de la plus grande mesurée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top