2012-03-15 3 views
0

Я пытаюсь рисовать линию в своем приложении. Сначала я установил размер окна чертежа как размер моего вида. После завершения рисования я хочу изменить размер UIImageView так, чтобы вокруг чертежа не было пустых пространств. Есть ли возможность автоматического изменения размера UIImageView, например sizeToFit в UILabel?Изменить размер UIImageView после финиша

UIGraphicsBeginImageContext(self.vwDesktop.frame.size); 
    [drawImage.image drawInRect:CGRectMake(0, 0, self.vwDesktop.frame.size.width, self.vwDesktop.frame.size.height)]; 
    CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); 
    CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 10.0); 
    CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0); 
    CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
    CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y); 
    CGContextStrokePath(UIGraphicsGetCurrentContext()); 
    CGContextFlush(UIGraphicsGetCurrentContext()); 
    drawImage.image = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    drawImage.userInteractionEnabled = YES; 

ответ

0

Если я правильно понимаю ваш вопрос, действительно ли это contentMode свойства на UIView (и, следовательно, UIImageView, что вы хотите? Это определит, как изображение имеет размер, чтобы соответствовать виду.

Как и в стороне, Вам не нужно звонить UIGraphicsGetCurrentContext() в каждой из ваших Core Graphics функции Почему не просто сохранить контекст в локальной переменной:.

CGContextRef ctx = UIGraphicsGetCurrentContext(); 

и использовать это CGContextRef каждый раз, когда вам нужно т o обратиться к текущему контексту?

Однако, он смотрит на меня, что вы могли бы просто сделать все это внутри drawRect метода UIView «s без необходимости иметь дело с созданием контекста изображения, если по каким-то причинам вы не хотите, чтобы сохранить UIImage линии, что вам рисуются.

+0

ОК. Я сохраню контекст в локальной переменной. что я делаю, это позволить пользователю рисовать что-то на экране, после чего я вставляю в массив. мой массив состоит из большого количества изображений (фото, пользовательский рисунок, штампы). поэтому в настоящее время UIImageView рисунка состоит из некоторой прозрачной границы, которую я не хочу, так как это повлияет на мой выбор того представления, которое я хочу редактировать. – RockBaby

Смежные вопросы