Запись затрагивает UIView

#objective-c #graphics #touch

#objective-c #графика #коснитесь

Вопрос:

У меня есть приложение, в котором я могу рисовать на некоторых «слайдах», чтобы делать заметки. Что я хочу иметь возможность сделать, так это «сохранить» эти заметки, чтобы их можно было просмотреть в другое время. Возможно, создание файла с информацией об отслеживании касаний, который затем может быть «загружен» для удобства пользователей.

У меня есть код для рисования на экране следующим образом:

 UIGraphicsBeginImageContext(self.view.frame.size);
[imageView.image drawInRect:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 5.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), 1.0, 0.0, 0.0, 1.0);
CGContextBeginPath(UIGraphicsGetCurrentContext());
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), lastPoint.x, lastPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), currentPoint.x, currentPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
  

Итак, как мне изменить этот код, чтобы разрешить отслеживание касаний и, следовательно, сохранение в файл?

Приветствую, Дэн

Ответ №1:

Два способа сделать это. Вы можете либо сохранить изображение. Смотрите документы о UIImageJPEGRepresentation() и UIImagePNGRepresentation() другом способе — сохранить местоположения касаний.

ie.

NSMutableArray *array = [Массив NSMutableArray]; [объект добавления массива:[NSValue valueForCGPoint:currentPoint]];

Затем вы можете сохранить этот массив с помощью [array writeToFile:<valid file path> atomically:YES] . Наконец, чтобы вернуть строки обратно, перечитайте файл и заново создайте пути.

Комментарии:

1. Я пытаюсь решить, какой из них выбрать. Есть текстовый файл, который будет занимать мало памяти, но его сложнее закодировать, а затем есть изображение. Что бы вы сделали, если бы оказались в моей ситуации?

2. Это зависит от того, хотите ли вы, чтобы пользователь мог продолжить рисование с того места, на котором они остановились. Массив. Если она сохранена навсегда, сохраните изображение.