Изображение изменить размер вопроса Iphone - PullRequest
0 голосов
/ 05 января 2012

У меня есть два UIImageview в моем перо и соответственно, и одно из них изменяет размеры в соответствии со значением кода UISlider: -

-(IBAction)sliderChanged:(UISlider*)slider{
    CGFloat scaleFactor=slider.value;

    markerImage.transform = CGAffineTransformMakeScale(scaleFactor,scaleFactor);
}

оно изменяет размеры правильно, но когда я объединяю эти изображения вместе этимикод

UIImage *backImage=backgroundImage.image;
UIImage *markImage=markerImage.image;

UIGraphicsBeginImageContext(backImage.size);

[backImage drawAtPoint:CGPointMake(0,0)];
[markImage drawAtPoint:CGPointMake(0,0)];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

Я получил объединенное изображение с оригинальным размером, то есть изображение маркера появляется в том же измерении в результирующем изображении, как я могу нарисовать изображение маркера в правильной пропорции Спасибо

1 Ответ

1 голос
/ 05 января 2012

Вместо drawAtPoint: используйте drawInRect:(CGRect)rect.Также необходимо использовать значение ползунка.

Предполагая, что значение sliderValue находится в диапазоне от 0 до 1,

CGRect rect = CGRectMake(0,0, markerImage.size.width*sliderValue, markerImage.size.height*sliderValue);
[markImage drawInRect:rect];

EDIT

CGFloat width = markerImage.size.width*sliderValue;
CGFloat height = markerImage.size.height*sliderValue;

CGRect rect = CGRectMake((markerImage.size.width-width)/2,(markerImage.size.height-height)/2, width, height);
[markImage drawInRect:rect];
...