NSImage - 无法从文件加载图像

时间:2014-03-24 05:58:26

标签: objective-c cocoa command-line nsimage

我编写命令行应用程序,它将从支持文件加载图像。图像复制在支持文件中,但当我使用以下代码时,变量 imgC 会返回 nil

NSString* pathC = @"galaxy.jpg";
NSImage* imgC = [NSImage imageNamed: pathC];
即使我使用以下代码,

ImgC 也会返回nil:

NSString* pathC = @"galaxy.jpg";
NSImage* imgC = [[NSImage alloc] initWithContentsOfFile: pathC];

有人可以帮帮我吗?

(PS:抱歉我的英语不好。)

非常感谢,彼得

2 个答案:

答案 0 :(得分:6)

斯威夫特风格:

if let imageRef = NSImage(byReferencingFile: "/path/to/galaxy.jpg")
{
    println("image size \(imageRef.size.width):\(imageRef.size.height)")
}

答案 1 :(得分:5)

由于目标为commend line tool,因为他们没有捆绑[NSBundle mainBundle],因此返回nil。因此,您需要使用absolute path,而不是relative path。由于这是奇怪的Xcode,所以不会对此发出任何警告。

NSImage *image = [[NSImage alloc]initWithContentsOfFile:@"/Users/Zenga/Documents/iOS/Research/Test/star.png"];
if (image == nil) {
    NSLog(@"image nil");
}
NSLog(@"%f and %f",image.size.width, image.size.height);

我发现这条路径当我点击图像和右上角时,我发现了这条路径,我使用它并且对我来说工作正常。

enter image description here