Reputation: 9064
I'm trying to figure out what the size of a UIImage is after a picture is taken with UIImagePickerController
and how to properly scale the image taken. If I wanted the camera to take a picture 100pt x 100pt every time, how would I accomplish this?
I consulted the documentation for UIImagePickerController
but it didn't have anything on image size
Upvotes: 0
Views: 115
Reputation: 5902
I believe something like this is what you're after. Please let me know though if I'm wrong.
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
CGFloat var1;
CGFloat var2;
if (image.size.width > image.size.height){
// Landscape
CGFloat aspect = image.size.width / image.size.height;
CGFloat height = ceilf(100.0/aspect);
var1 = 100.0;
var2 = height;
}
else if (image.size.height > image.size.width){
// Portrait
CGFloat aspect = image.size.height / image.size.width;
CGFloat width = ceilf(100.0/aspect);
var1 = width;
var2 = 100.0;
}
else{
// Square
var1 = 100.0;
var2 = 100.0;
}
UIGraphicsBeginImageContextWithOptions(CGSizeMake(var1, var2), NO, 0.0);
[image drawInRect:CGRectMake(0, 0, var1, var2)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
Upvotes: 1