Как нарисовать линию / штрих с пользовательским рисунком / изображением, используя базовую графику?
Я работаю над приложением для аннотаций в формате PDF, и теперь я могу нарисовать линию, используя изображение в «PDFAnnotationSubtype.stamp».
используя приведенный ниже код:
public class ImageAnnotation: PDFAnnotation{
init(with image: UIImage!, forBounds bounds: CGRect, withProperties properties: [AnyHashable : Any]?) {
super.init(bounds: bounds, forType: PDFAnnotationSubtype.stamp, withProperties: properties)
self._image = image
}
override public func draw(with box: PDFDisplayBox, in context: CGContext) {
guard let cgImage = self._image?.cgImage else { return }
context.draw(cgImage, in: self.bounds)
}
}
Используя этот метод, я добавляю изображение в каждую точку CGpoint (другими словами, каждая точка cgpoint представляет собой отдельный PDFAnnotation). Как сделать весь путь одним штрихом / одиночной аннотацией, чтобы при попытке стирания очищался весь путь, а не только несколько точек / пикселей.
1 ответ
После поиска нескольких найденных ресурсов мы можем использовать «CGPattern» для текстурирования линии.
Ссылка:https://developer.apple.com/documentation/coregraphics/cgpattern
Для всех, кто пытается это сделать, обязательно поиграйте с «DrawingPath» с режимами «заливки» и «обводки».