+ (UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)newsizeimage
{
CGSize actualSize = image.size;
float scale = actualSize.width/actualSize.height;
if (scale < 1) {
newsizeimage.height = newsizeimage.width/scale;
}
else {
newsizeimage.width = newsizeimage.height*scale;
}
UIGraphicsBeginImageContext(newsizeimage);
[image drawInRect:CGRectMake(0, 0, newsizeimage.width, newsizeimage.height)];
UIImage* mynewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return mynewImage;
}
UPDATE
For Reducing image Size:
Step 1:
Save the image in jpeg
format for reduction of image size like this:
NSData *imageData = UIImageJPEGRepresentation(your UIImage to save, 0.5);
[imageData writeToFile:path of doc_dir with image name atomically:YES];
Step 2
For reduce the quality and size of the image use this :
CGSize newSize=CGSizeMake(50,50); // you can change resolution as pe your need
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();