У меня есть приложение, которое позволяет пользователю сделать снимок с его iPhone и использовать его в качестве фонового изображения для приложения. Я использую UIImagePickerController
позволять пользователю сделать снимок и установить фон UIImageView
отобразите к возвращенному UIImage
объект.
IBOutlet UIImageView *backgroundView;
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
backgroundView.image = image;
[self dismissModalViewControllerAnimated:YES];
}
Это все хорошо работает. Как я могу уменьшить размер UIImage
к 480x320, таким образом, мое приложение может быть эффективной памятью? Я не забочусь, освобождаю ли я какое-либо качество изображения.
Заранее спасибо.
Вы можете создать графический контекст, нарисуйте изображение в это в нужной масштабе и используйте возвращенное изображение. Например:
UIGraphicsBeginImageContext(CGSizeMake(480,320));
CGContextRef context = UIGraphicsGetCurrentContext();
[image drawInRect: CGRectMake(0, 0, 480, 320)];
UIImage *smallImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();