Tuesday, 10 September 2013

Get the size of an image after resizing in iPhone sdk

Get the size of an image after resizing in iPhone sdk

I have image view on which i am displaying image selected from library. To
display the fine quality picture i used to rescale the picture using below
method. The image quality i am getting is perfect but i need to set the
imageView frame according to the size of newly created image. but when i
use newImage.size.width it is giving me the width of original image view.
Please help me to set the image view frame according to displayed image
size. Thanks in advance
-(UIImage *)scaleImage:(UIImage *)img toRectSize:(CGRect)screenRect
{
UIGraphicsBeginImageContext(screenRect.size);
float hfactor = img.size.width / screenRect.size.width;
float vfactor = img.size.height / screenRect.size.height;
float factor = MAX(hfactor, vfactor);
float newWidth = img.size.width / factor;
float newHeight = img.size.height / factor;
float leftOffset = (screenRect.size.width - newWidth) / 2;
float topOffset = (screenRect.size.height - newHeight) / 2;
CGRect newRect = CGRectMake(leftOffset, topOffset, newWidth, newHeight);
[img drawInRect:newRect blendMode:kCGBlendModePlusDarker alpha:1];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}

No comments:

Post a Comment