Resizing UIImage on iOS should be simple. This category provides a simple, yet flexible syntax to resize any image to your needs.
- (UIImage *) resizedImageByMagick: (NSString *) spec;
where spec could be one of the following expressions (follows ImageMagick syntax conventions):
UIImage* resizedImage = [image resizedImageByMagick: @"320x320#"];
There is some support for orientations (not mirrored still). There is no support for scale (do we need it?), so please define pixel values.
The project uses ARC, so you should compile UIImage-Resize.m with
-fobjc-arc if your project is not using ARC.
If you need some resizing with data known on-the-fly, this category defines the following additional methods:
- (UIImage *) resizedImageByWidth: (NSUInteger) width; - (UIImage *) resizedImageByHeight: (NSUInteger) height; - (UIImage *) resizedImageWithMaximumSize: (CGSize) size; - (UIImage *) resizedImageWithMinimumSize: (CGSize) size;
For smooth images try following methods:
+ (void) setInterpolationQuality: (CGInterpolationQuality) quality; + (CGInterpolationQuality) interpolationQuality;
More information about this option here: https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGContext/#//apple_ref/c/tdef/CGInterpolationQuality
If you find UIImage-ResizeMagick useful, I'm accepting Bitcoin donations (who doesn't these days?) at 193bEkLP7zMrNLZm9UdUet4puGD5mQiLai