我编写命令行应用程序,它将从支持文件加载图像。图像复制在支持文件中,但当我使用以下代码时,变量 imgC 会返回 nil 。
NSString* pathC = @"galaxy.jpg";
NSImage* imgC = [NSImage imageNamed: pathC];
即使我使用以下代码,ImgC 也会返回nil:
NSString* pathC = @"galaxy.jpg";
NSImage* imgC = [[NSImage alloc] initWithContentsOfFile: pathC];
有人可以帮帮我吗?
(PS:抱歉我的英语不好。)
非常感谢,彼得
答案 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);
我发现这条路径当我点击图像和右上角时,我发现了这条路径,我使用它并且对我来说工作正常。