如何在 PDFView (swift PDFKit) 中注释圆形、纵横比填充的图像
How to annotate rounded, aspect-fill image in PDFView (swift PDFKit)
我正在为现有的 PDFView 注释图像。
这是我目前的状态:
下面是我想要的状态:
一句话,我想达到:
- 我的图像注释的圆角
- 图片也应该保持原来的纵横比
我已经尝试并搜索了许多资源,但其中 none 有效。
下面是我当前的代码:
class PDFImageAnnotation: PDFAnnotation {
var image: UIImage?
convenience init(_ image: UIImage?, bounds: CGRect, properties: [AnyHashable : Any]?) {
self.init(bounds: bounds, forType: PDFAnnotationSubtype.stamp, withProperties: properties)
self.image = image
}
override func draw(with box: PDFDisplayBox, in context: CGContext) {
super.draw(with: box, in: context)
// Drawing the image within the annotation's bounds.
guard let cgImage = image?.cgImage else { return }
context.draw(cgImage, in: bounds)
}
}
ViewDidLoad 中的实现:
if let image = pet.picture?.getImage() {
let imageAnnotation = PDFImageAnnotation(image, bounds: CGRect(x: 80, y: 1100, width: 300, height: 300), properties: nil)
pdfView.currentPage?.addAnnotation(imageAnnotation)
}
任何建议都会有所帮助,因为我现在正处于死胡同,非常感谢!
好的,我明白了,结果我应该先将图像裁剪成圆形格式,然后使用此扩展名将其注释为 PDF:
我正在为现有的 PDFView 注释图像。
这是我目前的状态:
下面是我想要的状态:
一句话,我想达到:
- 我的图像注释的圆角
- 图片也应该保持原来的纵横比 我已经尝试并搜索了许多资源,但其中 none 有效。
下面是我当前的代码:
class PDFImageAnnotation: PDFAnnotation {
var image: UIImage?
convenience init(_ image: UIImage?, bounds: CGRect, properties: [AnyHashable : Any]?) {
self.init(bounds: bounds, forType: PDFAnnotationSubtype.stamp, withProperties: properties)
self.image = image
}
override func draw(with box: PDFDisplayBox, in context: CGContext) {
super.draw(with: box, in: context)
// Drawing the image within the annotation's bounds.
guard let cgImage = image?.cgImage else { return }
context.draw(cgImage, in: bounds)
}
}
ViewDidLoad 中的实现:
if let image = pet.picture?.getImage() {
let imageAnnotation = PDFImageAnnotation(image, bounds: CGRect(x: 80, y: 1100, width: 300, height: 300), properties: nil)
pdfView.currentPage?.addAnnotation(imageAnnotation)
}
任何建议都会有所帮助,因为我现在正处于死胡同,非常感谢!
好的,我明白了,结果我应该先将图像裁剪成圆形格式,然后使用此扩展名将其注释为 PDF: