Ограничить границу 320 x 480 при масштабировании UIImage - PullRequest
1 голос
/ 09 августа 2011

Я работаю над Приложением для декорирования интерьера, мы можем добавить диван, стол, стул, настольную лампу на экране камеры, а затем масштабировать UIImage одним касанием, чтобы увеличить изображение.Но при масштабировании мы не хотим увеличивать размер UIImage больше, чем 320 x 480, я имею в виду хочу ограничить в iphone Boundary.

любое предложение, которое я реализовал и попробовал, но не смог найти точное решение.Я использую для проверки на основе центра, но этот подход не работает, хочу что-то вроде обнаружения края может быть точным решением,

Уже спасибо, глядя вперед

вот кодчто я использую, чтобы изменить размер моего UIImageView

-(BOOL)isValidSizeForView:(UIView *)myView forSize:(CGSize)size
{
    BOOL Decision = NO;

    CGRect rect = myView.frame;

    CGRect BoundRect = CGRectMake(0, 0, 320, 480);

    float MinX = (BoundRect.origin.x+(myView.frame.size.width/2));

    float MaxX = ((BoundRect.origin.x+BoundRect.size.width)-(myView.frame.size.width/2));

    float MinY = (BoundRect.origin.y+(myView.frame.size.height/2));

    float MaxY = ((BoundRect.origin.y+BoundRect.size.height)-(myView.frame.size.height/2));

    if(rect.origin.x > MinX && rect.origin.x< MaxX && rect.origin.y> MinY && rect.origin.y<MaxY)
    {
        Decision = YES;
    }
    else
    {
        printf(":( no sorry \n");
    }

    return Decision;
}

1 Ответ

0 голосов
/ 09 августа 2011

Вы можете получить максимальный увеличенный размер изображения, выполнив что-то вроде этого:

- (CGSize)zoomedSizeForImage:(UIImage *)image constrainedTo:(CGSize)maxSize {
    CGFloat width = image.size.width;
    CGFloat height = image.size.height;
    if (width > maxSize.width) {
        width = maxSize.width;
        height = height * maxSize.width / width;
    }
    if (height > maxSize.height) {
        width = width * maxSize.height / height;
        height = maxSize.height;
    }
    return CGSizeMake(width, height);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...