2010-04-21 8 views
8

comment puis-je lire l'image PNG à NSImage. J'ai essayé de la façon suivante, mais quand je reçois la largeur et la taille de l'image que je reçois une valeur bizarre .. si quelqu'un peut me diriger dans le chemin droit .. très approprié ..Comment lire l'image PNG à NSImage

NSImage * picture = [[NSImage alloc] initWithContentsOfFile: [bundleRoot stringByAppendingString:tString]]; 

NSLog(@"sixe %d %d",picture.size.width, picture.size.height); 
if(picture){ 
    NSLog(@"Picture is not null"); 
}else { 
    NSLog(@"Picture is null."); 
} 

Merci

+0

Cela semble ignorer le canal alpha dans mon .png. Y a-t-il un moyen de conserver cela? –

Répondre

6

Le code pour charger l'image est correct.

Le code pour afficher la taille est incorrect; Les membres de NSSize sont CGFloat qui doit être imprimé avec la chaîne de format% f:

NSLog(@"size %f %f",picture.size.width, picture.size.height); 
+0

Thx pour une réponse rapide, pouvez-vous me dire comment convertir le code ci-dessous à Mac OS X Iphone App -> en utilisant UIKit CGRect rect = CGRectMake (offset.x * échelle, offset.y * échelle, échelle * taille .width, scale * size.height); UIGraphicsPushContext (ctx); [image drawInRect: rect]; UIGraphicsPopContext(); – Sam

+1

Jetez un coup d'œil au Guide de dessin (http://developer.apple.com/mac/library/documentation/cocoa/Conceptual/CocoaDrawingGuide/GraphicsContexts/GraphicsContexts.html). Il explique comment obtenir un contexte graphique et comment dessiner des images. –

2

Utilisez [NSImage imageNamed:tString]. tString devrait être le nom de fichier de base du fichier image; et ne doit pas contenir d'extension de fichier.

+0

Thx pour une réponse rapide, pouvez-vous me dire comment convertir le code ci-dessous pour Mac OS X Iphone App -> en utilisant UIKit CGRect rect = CGRectMake (offset.x * échelle, offset.y * échelle, échelle * taille .width, scale * size.height); UIGraphicsPushContext (ctx); [image drawInRect: rect]; UIGraphicsPopContext(); – Sam