http://hi.baidu.com/d19890415/item/1ceb93eec881080c6dabb87d
将UIImage缩放到指定大小尺寸:
10}
1. 用下面的方法选中你要压缩的图片,然后输出到sentencePic这个uiimageview中,你调用这个sentencepic发送到服务器就行了。
2. 设置压缩比例大小的是这个:imageFrame。你在viewdidload中,CGRect imageFrame = sentencePic.frame; //其中sentencePic.frame是你想要截取图片的尺寸。自行设定
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
UIImage *chosenImage = [info objectForKey:UIImagePickerControllerEditedImage];
UIImage *sharkenImage = shrinkImage(chosenImage, imageFrame.size);
sentencePic.image = sharkenImage;
[picker dismissModalViewControllerAnimated:YES];
}
static UIImage *shrinkImage(UIImage *original, CGSize size){
CGFloat scale = [UIScreen mainScreen].scale;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(nil, size.width *scale, size.height *scale, 8, 0, colorSpace, kCGImageAlphaPremultipliedFirst);//NULL
CGContextDrawImage(context, CGRectMake(0, 0, size.width *scale, size.height *scale), original.CGImage);
CGImageRef shrunken = CGBitmapContextCreateImage(context);
UIImage *final = [UIImage imageWithCGImage:shrunken];
CGContextRelease(context);
CGImageRelease(shrunken);
return final;
}