#pragma mark - Set thumbnailImage
-(UIImage*)setThumbnailFromImage:(UIImage *)image
{
CGSize origImageSize = image.size;
// The rectangle of the thumbnail
CGRect newRect = CGRectMake(0, 0, 40, 40);
// Figure out a scaling ratio to make sure we maintain the same aspect ratio
float ratio = MAX(newRect.size.width / origImageSize.width,
newRect.size.height / origImageSize.height);
// Creating a transparent bitmap context with a scaling factor
// equal to that of the screen
UIGraphicsBeginImageContextWithOptions(newRect.size, NO, .0);
// Create a path that is rounded rectangle
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:newRect cornerRadius:5.0];
// Make all subsequent drawing clip to this rounded rectangle.
[path addClip];
// Center the image in the thumbnail rectangle
CGRect projectRect;
projectRect.size.width = origImageSize.width * ratio;
projectRect.size.height = origImageSize.height * ratio;
projectRect.origin.x = (newRect.size.width - projectRect.size.width) / 2.0;
projectRect.origin.y = (newRect.size.height - projectRect.size.height) / 2.0;
// Draw the image on it
[image drawInRect:projectRect];
// Get the image from the image context, keep it as thumbnail
UIImage *smallImage = UIGraphicsGetImageFromCurrentImageContext();
// Clean up the image context resources
UIGraphicsEndImageContext();
return smallImage;
}