Im working on a pdf annotation app, as of now i'm able to draw a line using image in "PDFAnnotationSubtype.stamp".
using below code:
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)
}
}
Using this method I end up adding image at every CGpoint(in other words every cgpoint is separate PDFAnnotation). How do I make the entire path as a single stroke/single annotation such that when I try to erase, the entire path should get cleared instead of only few cgpoint/pixels.
After searching for several resources found out we can use "CGPattern" to texture the line.
Reference: https://developer.apple.com/documentation/coregraphics/cgpattern
For any one else trying this make sure to play around "drawingPath" with "fill" and "stroke" modes.