+ (void)loadBrushImage:(UIImage *)image canvasSize:(CGSize)canvasSize useCache:(BOOL)useCache complete:(void (^ _Nullable )(BOOL success))complete
{
if (!useCache) {
[[LFBrushCache share] removeObjectForKey:LFSmearBrushImage];
}
UIImage *cacheImage = [[LFBrushCache share] objectForKey:LFSmearBrushImage];
if (cacheImage) {
if (complete) {
complete(YES);
}
return;
}
if (image) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
UIImage *patternImage = [image LFBB_patternGaussianImageWithSize:canvasSize filterHandler:nil];
dispatch_async(dispatch_get_main_queue(), ^{
if (patternImage) {
[[LFBrushCache share] setForceObject:patternImage forKey:LFSmearBrushImage];
}
if (complete) {
complete((BOOL)patternImage);
}
});
});
} else {
if (complete) {
complete(NO);
}
}
}
Topic:
Media Technologies
SubTopic:
General
Tags: