Base64图片与UIImage的相互转化

时间:2023-03-09 00:15:58
Base64图片与UIImage的相互转化

http://blog.csdn.net/fudesign2008/article/details/38903085

Base64图片 -> UIImage

  1. - (UIImage *) dataURL2Image: (NSString *) imgSrc
  2. {
  3. NSURL *url = [NSURL URLWithString: imgSrc];
  4. NSData *data = [NSData dataWithContentsOfURL: url];
  5. UIImage *image = [UIImage imageWithData: data];
  6. return image;
  7. }

UIImage -> Base64图片

  1. - (BOOL) imageHasAlpha: (UIImage *) image
  2. {
  3. CGImageAlphaInfo alpha = CGImageGetAlphaInfo(image.CGImage);
  4. return (alpha == kCGImageAlphaFirst ||
  5. alpha == kCGImageAlphaLast ||
  6. alpha == kCGImageAlphaPremultipliedFirst ||
  7. alpha == kCGImageAlphaPremultipliedLast);
  8. }
  9. - (NSString *) image2DataURL: (UIImage *) image
  10. {
  11. NSData *imageData = nil;
  12. NSString *mimeType = nil;
  13. if ([self imageHasAlpha: image]) {
  14. imageData = UIImagePNGRepresentation(image);
  15. mimeType = @"image/png";
  16. } else {
  17. imageData = UIImageJPEGRepresentation(image, 1.0f);
  18. mimeType = @"image/jpeg";
  19. }
  20. return [NSString stringWithFormat:@"data:%@;base64,%@", mimeType,
  21. [imageData base64EncodedStringWithOptions: 0]];