创建MAC OS 文件缩略图

来源:互联网 发布:网络信息平台建设ppt 编辑:程序博客网 时间:2024/06/05 20:43
#import<QuickLook/QuickLook.h>

...

NSString* path =@“xxxxxx";

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
     CGImageRef img =QLThumbnailImageCreate(kCFAllocatorDefault,              
                                             CFURLCreateWithFileSystemPath(NULL,
                                                                       (CFStringRef)path,      
                                                                     kCFURLPOSIXPathStyle,
                                                                      false),
                                             _preview.frame.size,
                                             NULL);
           
     NSImage* newImage = [[NSImagealloc] initWithCGImage:img size:NSZeroSize];
           
     dispatch_async(dispatch_get_main_queue(), ^{
          _preview.image= newImage;
     });
});

主要是调用了QuartzCore框架中的QuickLook插件生成缩略图,实际效果和你在OS X下快速预览是一样的。

path就是需要生成缩略图的路径,的第一个参数直接填默认的即可,第二个参数生成cfurl放进去,第三个参数是maxsize,第四个参数不用填。

生成缩略图的过程必须放到后台去,否则无效,最后切回主线程刷出图片。

 NSImage* newImage = [[NSImagealloc] initWithCGImage:img size:imageSize];这个转换方法是10.6以后的api,如果想兼容以前的版本话得用其他方式,google即可。
0 0
原创粉丝点击