zoukankan      html  css  js  c++  java
  • UIImage与Base64图片的相互转化

    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.   
    7.     return image;  
    8. }  


    
    

    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.   
    14.     if ([self imageHasAlpha: image]) {  
    15.         imageData = UIImagePNGRepresentation(image);  
    16.         mimeType = @"image/png";  
    17.     } else {  
    18.         imageData = UIImageJPEGRepresentation(image, 1.0f);  
    19.         mimeType = @"image/jpeg";  
    20.     }  
    21.   
    22.     return [NSString stringWithFormat:@"data:%@;base64,%@", mimeType,  
    23.            [imageData base64EncodedStringWithOptions: 0]];  
    24.   
    25. }  
  • 相关阅读:
    springboot之mybatis别名的设置
    webstorm
    万字长文把 VSCode 打造成 C++ 开发利器
    残差residual VS 误差 error
    参数与非参数的机器学习算法
    阿里云产品梳理
    aws产品整理
    Azure产品整理
    OpenStack产品摘要
    头条、美团、滴滴、阿里、腾讯、百度、华为、京东职级体系及对应薪酬
  • 原文地址:https://www.cnblogs.com/liuyang666/p/5288365.html
Copyright © 2011-2022 走看看