Получить предварительный просмотр QuickLook для файла - PullRequest
8 голосов
/ 11 января 2012

Есть ли способ получить предварительный просмотр изображения для файла?

Я ищу что-то вроде этого:

NSImage *image = [QuickLookPreviewer quickLookPreviewForFile:path];

Ответы [ 2 ]

5 голосов
/ 16 февраля 2012

См. QLThumbnailRequest в документах: https://developer.apple.com/library/mac/#documentation/UserExperience/Reference/QLThumbnailRequest_Ref/Reference/reference.html

NSURL *path = aFileUrl;

NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO] forKey:(NSString *)kQLThumbnailOptionIconModeKey];

CGImageRef ref = QLThumbnailImageCreate(kCFAllocatorDefault, (CFURLRef)path, CGSizeMake(600, 800 /* Or whatever size you want */), (CFDictionaryRef)options);
1 голос
/ 21 октября 2018

В Swift у меня получилось что-то вроде этого (нужно развернуть распаковку):

let options = [
  kQLThumbnailOptionIconModeKey: false
]

let ref = QLThumbnailCreate(
  kCFAllocatorDefault,
  url as NSURL,
  CGSize(width: 150, height: 150),
  options as CFDictionary
)

let thumbnail = ref!.takeRetainedValue()
let cgImageRef = QLThumbnailCopyImage(thumbnail)
let cgImage = cgImageRef!.takeRetainedValue()
let image = NSImage(cgImage: cgImage, size: CGSize(width: cgImage.width, height: cgImage.height))
...