2

my app Crash due to Receive memory Warning.when i run app with instruments then i get the following leak memory issue . enter image description here

here is my full code of this method.

  - (UIImage *)resizeImage:(UIImage *)orignalImage newWidth:(int)width newHeight:(int)height bgColor:(UIColor *)bgColor
    {
CGRect newRect;
if((orignalImage.size.width>width) || (orignalImage.size.height>height))
{
    float newWidth,newHeight;
    if(orignalImage.size.width>orignalImage.size.height)
    {
        newWidth=width;
        newHeight=(height*orignalImage.size.height)/orignalImage.size.width;
    }
    else if(orignalImage.size.height>orignalImage.size.width)
    {
        newWidth=(width*orignalImage.size.width)/orignalImage.size.height;
        newHeight=height;
    }
    else
    {
        newWidth=width;
        newHeight=height;
    }
    newRect.origin.x=(width-newWidth)/2;
    newRect.origin.y=(height-newHeight)/2;
    newRect.size.width=newWidth;
    newRect.size.height=newHeight;
}
else
{
    newRect.origin.x=(width-(orignalImage.size.width))/2;
    newRect.origin.y=(height-(orignalImage.size.height))/2;
    newRect.size.width=orignalImage.size.width;
    newRect.size.height=orignalImage.size.height;
}

CGImageRef imageRef = [orignalImage CGImage];
CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);

//if (alphaInfo == kCGImageAlphaNone)
alphaInfo = kCGImageAlphaNoneSkipLast;

CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef), 4 * width, CGImageGetColorSpace(imageRef), alphaInfo);
CGContextSetFillColorWithColor(bitmap, bgColor.CGColor);
CGContextFillRect(bitmap, CGRectMake(0, 0, width, height));
CGContextDrawImage(bitmap, newRect, imageRef);
CGImageRef newImgRef = CGBitmapContextCreateImage(bitmap);
UIImage *newImg = [UIImage imageWithCGImage:newImgRef];

CGContextRelease(bitmap);
CGImageRelease(newImgRef);
return newImg;
}

Some one can suggest me what mistake in my code.any help will be apprericated thanks.

jamil
  • 2,419
  • 3
  • 37
  • 64

0 Answers0