Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 获取文件的QuickLook预览图像_Objective C_Swift_Macos_Quicklook - Fatal编程技术网

Objective c 获取文件的QuickLook预览图像

Objective c 获取文件的QuickLook预览图像,objective-c,swift,macos,quicklook,Objective C,Swift,Macos,Quicklook,有没有办法获得文件的快速预览图像 我在找这样的东西: NSImage*image=[QuickLookPreviewer quickLookPreviewForFile:path]请参见文档中的qltumbnailrequest: 在Swift中,我得到了类似的结果(应替换原力展开): 我很确定您希望在您使用过的两个地方都使用takeRetainedValue(),因为Create和Copy函数都返回带有+1引用的CFObject。我想你当前的代码每次调用都会泄漏。谢谢@WilShipley,我

有没有办法获得文件的快速预览图像

我在找这样的东西:


NSImage*image=[QuickLookPreviewer quickLookPreviewForFile:path]

请参见文档中的
qltumbnailrequest


在Swift中,我得到了类似的结果(应替换原力展开):


我很确定您希望在您使用过的两个地方都使用
takeRetainedValue()
,因为
Create
Copy
函数都返回带有+1引用的CFObject。我想你当前的代码每次调用都会泄漏。谢谢@WilShipley,我已经修复了。
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);
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))