Как настроить соотношение высоты и ширины Uiimage - PullRequest
0 голосов
/ 21 июня 2011

Я работаю над проектом, в котором мне нужно обрезать изображение и сохранить обрезанное изображение в библиотеке фотографий.Мне удалось обрезать изображение, но проблема в том, что когда я обрезаю и показываю его, оно растягивается. Я также использую режим подгонки.Но все же он растянут. Вот код

-(void)cropLassoArea {

isLassoSelected = NO;
lassoStyle = 0;
CGRect frame;
frame = mainImageView.frame;
mainImageView.frame.size = CroppedImage.size;
for (int i = 0; i < [lassoArray count]; i++) {

    CAShapeLayer *layer = [lassoArray objectAtIndex:i];

    CGPathRef myPath = layer.path;
   UIGraphicsBeginImageContext(mainImageView.frame.size);

    [mainImageView setContentMode:UIViewContentModeCenter];


   [mainImageView.image drawInRect:CGRectMake(0, 0,CroppedImage.size.width,CroppedImage.size.height)]; 

    context = UIGraphicsGetCurrentContext();
    CGContextBeginPath(context);
    CGContextAddPath(context, myPath);

    CGContextSetStrokeColorWithColor(UIGraphicsGetCurrentContext(), [UIColor whiteColor].CGColor);
    CGContextSetBlendMode(context, kCGBlendModeClear);
    CGContextDrawPath(context, kCGPathFill);
    CGContextEOFillPath(context);

    mainImageView.image = UIGraphicsGetImageFromCurrentImageContext();
    CGContextSaveGState(context);
    UIGraphicsEndImageContext();

}

}

1 Ответ

0 голосов
/ 21 июня 2011

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

    UIImage *tmpImage = [yourImageView.image resizedImage:CGSizeMake(desiredWidth,DesiredHeight) interpolationQuality:kCGInterpolationHigh];
    yourImageView.contentMode = UIViewContentModeCenter;
    [yourImageView setImage:tmpImage];

Надеюсь, это поможет.

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