У меня есть массив объектов CGPoint. Массив представляет строку. Элемент 0 является исходной точкой этой строки. Элемент 1 - это следующая точка и так далее. Я знаю, какой цвет и толщина в пикселях я хочу передать линии. Я хочу получить UIImage, который содержит эту строку. Я думаю о том, чтобы сделать что-то вроде этого:Получить UIImage из массива точек
// Get graphics context
UIGraphicsBeginImageContextWithOptions(imageSize, false, 1.0)
// Draw line
let line = UIBezierPath()
if let startingPoint = points.firstObject as? CGPoint {
line.moveToPoint(startingPoint)
}
for point in points { // Would I need to ignore the first point?
if let point = point as? CGPoint {
line.addLineToPoint(point)
}
}
// Obtain image and save to file
// End graphics context
UIGraphicsEndImageContext()
Будет ли это работать? Есть ли стандартный или лучший способ сделать это? Не стесняйтесь ответить на Objective C :)
Где 'points' взялось? Почему это не '[CGPoint]' (вы должны 'if let' в' CGPoint')? – nhgrif
точки NSArray возвращены из закрытой исходной структуры, написанной в obj-C. Должен ли я сначала конвертировать в [CGPoint]? Каковы преимущества? –