- (UIImage *)createThumbnailImage:(UIImage *)image withSize:(CGSize)size {
CGRect imageRect = CGRectMake(0.0, 0.0, size.width, size.height);
UIGraphicsBeginImageContext(size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextClearRect(context, CGRectMake(0, 0, size.width, size.height));
CGContextSetInterpolationQuality(context, 0.8);
[image drawInRect:imageRect blendMode:kCGBlendModeNormal alpha:1];
UIImage *thumbnail = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return thumbnail;
}
- (void)viewDidLoad {
[super viewDidLoad];
UIImage *inputImage = [UIImage imageNamed:@"dog.jpg"];
UIImage *image = [self createThumbnailImage:inputImage withSize:CGSizeMake(640.0, 480.0)]
}
Я получил уменьшенное изображение (640 * 480) по коду выше. И какая-то странная проблема смутила меня.Обрезание большого png делает крушение приложения ios
Когда я отправил jpg (10000 * 10000) в метод, он работал хорошо.
Но когда я отправил png с таким же размером, приложение будет разбиваться.
Я попытался найти документы о различии между jpg и png, но это не имело смысла.
Есть ли у кого-нибудь идеи об этой ошибке?
Вы врезаться IOS, потому что выделить слишком много памяти, уменьшить размер этих изображений перед их обработкой, 10000x10000 является слишком большим. – MoDJ