+ (uiimage *) Imagewithmaxside: (cgfloat) Length sourceimage: (uiimage *) image{ CGFloat scale = [[UIScreen mainScreen] scale]; Cgsize imgsize = cwsizereduce (image.size, length); uiimage * Img = nil; uigraphicsbeginimagecontextwithoptions (imgSize, YES, Scale); // Create a bitmap context [image drawinrect: CGRectMake (0, 0, imgsize.width, imgsize.height) blendMode:kCGBlendModeNormal alpha:1.0]; // draw a picture to the current context Img = uigraphicsgetimagefromcurrentimagecontext (); // from Current &Get the picture you just drew in nbsp;context uigraphicsendimagecontext (); return img;} Static inlinecgsize cwsizereduce (Cgsize size, cgfloat limit) // proportionally reduced size { cgfloat max = max (size.width, size.height); if (Max < limit) { return size; } cgsize imgsize; cgfloat ratio = size.height / size.width; if (size.width > size.height) { imgSize = Cgsizemake (Limit, limit*ratio); } else { imgsize = cgsizemake (Limit/ratio, limit); } reTurn imgsize;}
IOS Compressed picture resolution