Изменение размера отдельных изображений в массиве UIImageViews - PullRequest
0 голосов
/ 22 марта 2011

В моем приложении для iPhone мне нужно изменить размеры некоторых изображений типа UIImageView, которые есть в массиве.Я не использовал Interface Builder для этой задачи.

Я получаю эту ошибку:

Требуется Lvalue в качестве левого оператора

с использованиемследующий код:

CGSize newsize;

for (int i = 0; i<5; i++) 
{
    // ball[] is of type UIImageView *
    ball[i].center = CGPointMake(ball[i].center.x-5,ball[i].center.y);

    if (ball[i].center.x <= 36) 
    {
        while(ball[i].frame.size.width>0 && ball[i].frame.size.height>0) 
        {
            newsize.height =val2--;
        newsize.width =val2--;      
        ball[i].frame.size = newsize; // This line gives the error

        }

    }   
}

Можете ли вы сказать мне, как я должен изменить размер моих изображений в массиве, если это не правильный метод?

1 Ответ

1 голос
/ 07 апреля 2011

Вы имеете в виду, вы хотите обрезать изображения?

Чтобы изменить размеры изображений, попробуйте этот код:

-(UIImage *)resizeImage:(UIImage *)image width:(int)width height:(int)height {

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

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

    CGContextRef bitmap = CGBitmapContextCreate(NULL, width, height, CGImageGetBitsPerComponent(imageRef), 4 * width, CGImageGetColorSpace(imageRef), alphaInfo);
    CGContextDrawImage(bitmap, CGRectMake(0, 0, width, height), imageRef);
    CGImageRef ref = CGBitmapContextCreateImage(bitmap);
    UIImage *result = [UIImage imageWithCGImage:ref];

    CGContextRelease(bitmap);
    CGImageRelease(ref);

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