我正在开发一个OSX应用程序而我正在尝试从NSUrl获取图像。它效果很好,但是对于一些图像(不是每个图像),尺寸都不好。
例如,我试图从NSUrl获取1600 * 1200图像,但是当我获取值时,我得到的结果是384 * 288,因此质量会降低。 但是每个图像上都没有这个错误。
我用PNG和JPG尝试了这个,结果是一样的,有些是调整大小的,有些则不是。
我不希望调整图像大小,因为质量是我主要考虑的因素。
这是我的代码:
- (IBAction)loadImageAction:(id)sender {
NSArray* fileTypes = [[NSArray alloc] initWithObjects:@"jpg",@"png", nil];
NSOpenPanel *panel = [NSOpenPanel openPanel];
[panel setCanChooseFiles:YES];
[panel setCanChooseDirectories:NO];
[panel setAllowsMultipleSelection:NO];
[panel setAllowedFileTypes:fileTypes];
NSInteger clicked = [panel runModal];
if (clicked == NSFileHandlingPanelOKButton) {
for (NSURL *url in [panel URLs]) {
NSImage *img = [[NSImage alloc] initWithContentsOfURL:url];
NSLog(@"IMAGE FROM URL : image.width = %f, image.height = %f", img.size.width, img.size.height);
if (img != nil) {
[_imageView setImage:img]; // just a NSImageView to display the image
}
}
}
}