Как устранить ошибку "EXC_BAD_ACCESS" - PullRequest
2 голосов
/ 20 июля 2011

Я пытаюсь изменить размер изображения на основе значения, выбранного пользователем на сборщике.

Для этой цели в настоящее время я использую следующий код:

- (UIImage *)scaleImage:(UIImage *)image toSize:(CGSize)targetSize {  

    CGRect frame;
    UIImage * newImage;
    newImage = image;

        frame = frontImageView.frame;
        frame.size.width = targetSize.width;
        frame.size.height = targetSize.height;
        frontImageView.frame = frame;



    // the pixels will be painted to this array




    CGImageRef imageRef = [newImage CGImage]; (APP crash at this point)
    CGFloat height = targetSize.height;
    CGFloat Width = targetSize.width;
    CGImageAlphaInfo alphaInfo = CGImageGetAlphaInfo(imageRef);


    pixels = (uint32_t *) malloc(targetSize.width * targetSize.height * sizeof(uint32_t));

    // clear the pixels so any transparency is preserved
    memset(pixels, 0, Width * height * sizeof(uint32_t));

    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();


    alphaInfo = kCGImageAlphaNoneSkipLast;

    CGContextRef bitmap =  CGBitmapContextCreate(pixels, Width, height, 8, Width * sizeof(uint32_t), colorSpace, 
                                                          kCGBitmapByteOrder32Little | kCGImageAlphaPremultipliedLast);

    CGContextDrawImage(bitmap, CGRectMake(0, 0, Width, height), imageRef);
    CGImageRef ref = CGBitmapContextCreateImage(bitmap);

    UIImage *result = [UIImage imageWithCGImage:ref];

    CGContextRelease(bitmap);
    CGImageRelease(ref);
    CGImageRelease(newImage);
    return result;  






}

Если я изменяю размер изображения, то в первый раз (например, на 25%) происходит сбой.Но после этого происходит сбой с ошибкой «exec_BAD_Access».Как я могу решить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...