2014-10-17 3 views
0

Чтобы загрузить значок изображения, у меня есть следующий код в одном из способов:NSImage -initWithContentsOfFile возвращает изображение размером ноль (0)

NSLog(@"icon path: %@", iconPath); 
NSImage *iconImage = [[NSImage alloc] initWithContentsOfFile:iconPath]; 
return iconImage; 

С выхода журнала, то ясно, что изображения ресурсы открываться из правильного места. Я не вижу ошибок. Тем не менее, показаны файлы tif, которые я открываю, имеют пустой NSSize (width = 0, height = 0) в отладчике и отображаются на экране, как если бы я указывал на некоторый сегмент памяти.

Флаги в основном установлены в 0. Исключения colorMatchPreferred и multipleResolutionMatching устанавливается в 1.

повторений указывает на массив (NSArrayM *), содержащей два (2) растровые представления (NSBitmapImageRep записей).

Просьба сообщить, что я делаю неправильно!

Спасибо

+0

Пожалуйста, включите полный текст исключения и трассировку стека. – Droppy

+0

Исключений нет и, следовательно, нет stacktrace. –

+0

ОК, меня смутило утверждение «Исключения: colorMatchPreferred и multipleResolutionMatching установлены в 1». – Droppy

ответ

0
//to get image original size use this code 

NSArray * imageReps = [NSBitmapImageRep imageRepsWithContentsOfFile:fileUrl]; 
     NSInteger width = 0; 
     NSInteger height = 0; 

     for (NSImageRep * imageRep in imageReps) 
     { 
      if ([imageRep pixelsWide] > width) 
       width = [imageRep pixelsWide]; 
      if ([imageRep pixelsHigh] > height) 
       height = [imageRep pixelsHigh]; 
     } 
Смежные вопросы