DMEThumbnailer 是一个图像、MP4 视频和 PDF 文档的缩略图生成器。
或复制 /DMEThumbnailer
目录的内容到您的项目中。
导航到 /DMEThumbnailerExample
并打开项目文件。
导入 DMEThumbnailer.h
DMEThumbnailer 需要AVFoundation框架,将其包含在您的项目中并导入它。
#import <AVFoundation/AVFoundation.h>
DMEThumbnailer 是一个单例类。为了创建两种类型的缩略图 "小"(120px x 80px)和 "大"(240px x 160px),您可以这样做:
NSDictionary *sizes = @{
@"small": [NSValue valueWithCGSize:(CGSize){120, 80}],
@"large": [NSValue valueWithCGSize:(CGSize){240, 160}]
};
[DMEThumbnailer sharedInstance].sizes = sizes;
这会生成存放在缓存目录中 Thumbs 子目录下的缩略图。
您可以使用以下方法生成最后一步定义的所有缩略图:
// Generate thumbnails from an image:
-(void)generateImageThumbnails:(NSString *)aPath afterGenerate:(GenerateThumbCompletionBlock)afterBlock completionBlock:(GenerateThumbsCompletionBlock)block
// Generate thumbnails from a video:
-(void)generateVideoThumbnails:(NSString *)aPath afterGenerate:(GenerateThumbCompletionBlock)afterBlock completionBlock:(GenerateThumbsCompletionBlock)block
// Generate thumbnails from a pdf
-(void)generatePDFThumbnails:(NSString *)aPath afterGenerate:(GenerateThumbCompletionBlock)afterBlock completionBlock:(GenerateThumbsCompletionBlock)block
afterGenerate 块将在单个缩略图生成但保存之前执行。
三个方法完成块返回一个包含 UIImages 的 NSDictionary。
您可以使用这些方法获取指定类型的缩略图文件:
-(UIImage *)readThumb:(NSString *)aPath withPrefix:(NSString *)aPrefix
前缀是我们创建的缩略图字典的键,我们将其分配给 DMEThumbnailer 的 sizes 属性。例如:
UIImage *smallThumb = [[DMEThumbnailer sharedInstance] readThumb:@"path/to/file" withPrefix:@"small"]
您也可以使用这些方法创建文件的单个缩略图:
-(void)generateImageThumbnail:(NSString *)aPath widthSize:(CGSize)aSize completionBlock:(GenerateThumbCompletionBlock)block
-(void)generateVideoThumbnail:(NSString *)aPath widthSize:(CGSize)aSize completionBlock:(GenerateThumbCompletionBlock)block
-(void)generatePDFThumbnail:(NSString *)aPath widthSize:(CGSize)aSize completionBlock:(GenerateThumbCompletionBlock)block
三个方法完成块返回一个 UIImage 指针,您可以在保存之前对其进行修改。
然后要恢复单个缩略图
-(UIImage *)readThumb:(NSString *)aPath
-(void)removeThumbnails:(NSString *)aPath
-(BOOL)removeThumb:(NSString *)aPath;