Чтобы открыть изображение в Preview, я уверен, что вам нужно сначала сохранить его на диск, так как Preview открывает files . Вы можете использовать этот метод категории NSImage
, который я написал, чтобы записать JPEG вашего изображения:
@implementation NSImage (DFAdditions)
- (void) saveAsJpegWithPath:(NSString *)filePath {
NSData *imageData = [self TIFFRepresentation];
NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imageData];
CGFloat compressionFactor = 0.8
NSDictionary *imageProps = [NSDictionary dictionaryWithObject:[NSNumber numberWithFloat:compressionFactor]
forKey:NSImageCompressionFactor];
imageData = [imageRep representationUsingType:NSJPEGFileType properties:imageProps];
[imageData writeToFile:filePath atomically:NO];
}
@end
Если вам нужно представление TIFF без потерь, вы можете сократить его до однострочной реализации:
- (void) saveAsTiffWithPath:(NSString *)filePath {
[[self TIFFRepresentation] writeToFile:filePath atomically:NO];
}
Чтобы открыть его в Preview после того, как вы его сохранили, я бы посмотрел на ответ здесь: Какао-приложение; открыть файл (pdf) в Preview
Описывает, как открыть PDF, но оно должно быть одинаковым для любого файла. Кроме того, я согласен с первым комментарием к ответу: игнорируйте первую строку и используйте обычную строку. В основном, посмотрите на документацию по NSWorkspace
. Как упомянуто Робом Кенигером ниже, вы, вероятно, хотите -openFile:withApplication:
.