Я использую ACEDrawingView для рисования в виде.iOS: Обрезка вокруг рисованной дорожки?
Как я могу определить ширину и высоту рисунка, так что я могу обрезать вокруг него, что-то вроде этого:
Update: После @Duncan указал я в правильном направлении, я смог ознакомиться с исходным кодом и нашел следующее:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
// save all the touches in the path
UITouch *touch = [touches anyObject];
previousPoint2 = previousPoint1;
previousPoint1 = [touch previousLocationInView:self];
currentPoint = [touch locationInView:self];
if ([self.currentTool isKindOfClass:[ACEDrawingPenTool class]]) {
CGRect bounds = [(ACEDrawingPenTool*)self.currentTool addPathPreviousPreviousPoint:previousPoint2 withPreviousPoint:previousPoint1 withCurrentPoint:currentPoint];
CGRect drawBox = bounds;
drawBox.origin.x -= self.lineWidth * 2.0;
drawBox.origin.y -= self.lineWidth * 2.0;
drawBox.size.width += self.lineWidth * 4.0;
drawBox.size.height += self.lineWidth * 4.0;
self.drawingBounds = bounds; // I added this property to allow me to extract the bounds and use it in my view controller
[self setNeedsDisplayInRect:drawBox];
}
else if ([self.currentTool isKindOfClass:[ACEDrawingTextTool class]]) {
[self resizeTextViewFrame: currentPoint];
}
else {
[self.currentTool moveFromPoint:previousPoint1 toPoint:currentPoint];
[self setNeedsDisplay];
}
}
Однако я получаю это когда я проверить границы:
Я буду продолжать пытаться понять это, но если кто-то может помочь, что было бы здорово!
Обновление 3: Использование CGContextGetPathBoundingBox Я, наконец, смог его достичь.
Спасибо Мэтту! Я действительно нашел переменную экземпляра 'CGMutablePathRef path 'и использовал' return CGPathGetBoundingBox (путь): 'Я смог его получить! – KingPolygon
К сожалению, мой подход, кажется, только последний путь. Поэтому, если я рисую несколько строк (рисовать, поднимать палец и рисовать), он смотрит только на новый путь. Я дам ваш подход. – KingPolygon
О, просто держите все пути и создайте сложный путь и получите ограничительную рамку. Мой ответ не нужен. Твой путь лучше. – matt