#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; }
时间: 2024-10-10 17:02:02