2014-10-28 28 views
-1

你好,我試圖從文件加載圖像到NSImage,但aImage總是零。我在這裏做錯了什麼?NSImage initWithContentsOfFile返回零

NSImage * aImage = [[NSImage alloc]initWithContentsOfFile: @"/Users/Thilina/Desktop/Other/20140818_163933_Fotor_Collage.jpg" ]; 
[imgPic setImage:aImage]; 
+0

「文件名參數應包含標識圖像數據類型的文件擴展名,該方法查找處理NSImage註冊數據類型的NSImageRep子類」。 – 2014-10-29 00:44:05

+0

你能舉個例子嗎?因爲沒有這樣的方法。謝謝 – NSGodMode 2014-10-29 08:25:11

回答

0

這裏是一個例子。

- (void)getMyImage { 
    NSImage *img = [self getImage:filePath]; 
} 

- (NSImage *)getImage:(NSString *)path { 
    NSArray *imageReps = [NSBitmapImageRep imageRepsWithContentsOfFile:path]; 
    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]; 
    } 
    NSImage *imageNSImage = [[NSImage alloc] initWithSize:NSMakeSize((CGFloat)width, (CGFloat)height)]; 
    [imageNSImage addRepresentations:imageReps]; 
    return imageNSImage; 
}