以 png 格式保存签名图像 ios

Save signature image in png format in ios

我有用于签名的可绘制文本, 我希望此上下文以具有特定路径的 png 格式保存,但我做不到 this.I 希望我的绘图图像以 png 格式保存,我可以在任何地方使用

**Code for png format and path**

NSData *imageData = UIImagePNGRepresentation(_SignatureView.signatureImage);

 NSString *imagePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"/imageName.png"];

[imageData writeToFile:imagePath atomically:YES];

_SignatureView is a property and signatureImage is a method 

**code of signature image method**

- (UIImage *)signatureImage
{
    if (!self.hasSignature)
        return nil;


    UIImage *screenshot = [self snapshot];


    return screenshot;
}

这样试试

- (void)saveImage: (UIImage*)image
  {
    if (image != nil)
    {
       NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
       NSUserDomainMask, YES);
       NSString *documentsDirectory = [paths objectAtIndex:0];
       NSString* path = [documentsDirectory stringByAppendingPathComponent:
      [NSString stringWithString: @"test.png"] ];
      NSData* data = UIImagePNGRepresentation(image);
      [data writeToFile:path atomically:YES];
      }
  }

并使用以下代码获取图像

 - (UIImage*)loadImage
 {
   NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
   NSUserDomainMask, YES);
   NSString *documentsDirectory = [paths objectAtIndex:0];
   NSString* path = [documentsDirectory stringByAppendingPathComponent:
   [NSString stringWithString: @"test.png"] ];
   UIImage* image = [UIImage imageWithContentsOfFile:path];
   return image;
 }
NSString *docPath=  @"/Users/.../.../";
NSString *filePath=[docPath stringByAppendingPathComponent:@"PdfFileName.pdf"];

NSMutableData pdfData=[NSMutableData data];
CGRect bounds = CGRectMake(0, 0, 612, 792);
UIGraphicsBeginPDFContextToData(pdfData, bounds, nil);

CGContextRef pdfContext = UIGraphicsGetCurrentContext();
UIGraphicsBeginPDFPage();

[YourSignature.layer renderInContext:pdfContext];
UIGraphicsEndPDFContext();
[pdfData writeToFile:filePath atomically:YES];