Печать файла в NSImage не работает правильно (какао) - PullRequest
1 голос
/ 29 октября 2009

Это, вероятно, вопрос n00b, поэтому я заранее извиняюсь. Я работаю с NSImage в первый раз, и в основном мне нужно просто сделать снимок, который находится в моей папке Resources, и отобразить его в NSView / NSImageWell при нажатии кнопки.

NSImage *image = [[NSImage alloc] initWithContentsOfFile:@"tiles.PNG"];   
if ( [image isValid] ) {  
 NSImageView *view = [[NSImageView alloc] init];  
 [selection setImage:image];  
 [selection setImageScaling:NSScaleProportionally];  
}  
else {   
--- This line of code always activates meaning my image isn't valid     
}  

Мое единственное предположение, что я неправильно понимаю путь к файлу изображения, и я искал правильный способ доступа к нему. Другое предположение, что у меня неправильный код. Кто-нибудь знаком с этим? Спасибо!

Ответы [ 2 ]

3 голосов
/ 29 октября 2009

Я работаю много больше с iPhone, но initWithContentsOfFile, похоже, требует полного / относительного пути, который, как я предполагаю, tile.PNG не будет выполнять.

Я бы использовал метод класса imageNamed: (NSString *) name, который будет искать ваш пакет для вас.

0 голосов
/ 30 октября 2009

Вы должны использовать NSBundleManger, чтобы найти изображение следующим образом:

NSBundle *mb=[NSBundle mainBundle];
NSString *fp=[mb pathForResource:@"titles" ofType:@"PNG"];
UIImage *img=[UIImage imageWithContentsOfFile:fp];

Таким образом, вам не придется самим связываться с внутренними путями. В противном случае вы должны иметь путь относительно конечного продукта, который сложно создать и поддерживать.

...