Этот код вносит изменения в изображение, но заменяет его исходное изображение. Мне нужно отредактировать исходное изображение, чтобы его не заменить.Нарисуйте UIImageView без замены его исходного изображения iOS
- (void)drawShapes {
//NSLog(@"In drawShapes!");
UIGraphicsBeginImageContext(self.planView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
for(myShape *i in _collection) {
[self drawShapesSubroutine:i contextRef:context];
if(i.selected == true) {
CGContextSetLineWidth(context, 1.0f);
CGContextSetStrokeColorWithColor(context, [[UIColor darkGrayColor] CGColor]);
float num[] = {6.0, 6.0};
CGContextSetLineDash(context, 0.0, num, 2);
CGRect rectangle;
[self drawShapeSelector:i selectorRect: &rectangle];
CGContextAddRect(context, rectangle);
CGContextStrokePath(context);
//tapped = true;
}
}
if(!skipDrawingCurrentShape && (selectedIndex == -1)) {
[self drawShapesSubroutine:_currentShape contextRef:context];
}
self.planView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
Когда я удалить эту строку:
self.planView.image = UIGraphicsGetImageFromCurrentImageContext();
Изображение не исчезает, но и не тянет. Мне нужно рисовать, не снимая исходную фотографию.
как RU вызова DrawShapes? –
Я называю это следующим образом: [self drawShapes]; –
вы не можете сделать imagview.image, потому что он заменит старое изображение новым. Если вы планируете нарисовать что-то новое в представлении изображения, попробуйте добавить подуровень в imageview –