首页 > 代码库 > iOS WebP图片格式

iOS WebP图片格式

google出品 高清晰,体量小得图片格式,下面说在iOS下如何使用

添加头文件

#import "UIImage+WebP.h"

#import "ViewController.h"
#import "UIImage+WebP.h"


@interface ViewController ()

@property (nonatomic ,strong) UIImageView *webPImageView;
@property (nonatomic ,strong) UILabel *webPLabel1;


@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
     NSString *normalImg = [[NSBundle mainBundle] pathForResource:@"changmen1" ofType:@"png"];
    
    uint64_t fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:normalImg error:nil] fileSize];
    
    
    UIImage *demoImage = [UIImage imageNamed:@"changmen1.png"];
    UIImageView *pngView = [[UIImageView alloc] initWithImage:demoImage];
    pngView.frame = CGRectMake(0, 0, demoImage.size.width, demoImage.size.height);
    
    [self.view addSubview:pngView];
    UILabel *pngLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(pngView.frame) + 5,300, 10)];
    pngLabel.text = [NSString stringWithFormat:@"%@ format file size: %.2f KB ",[[normalImg pathExtension] uppercaseString],(double)fileSize / 1024];
    [pngLabel setFont:[UIFont systemFontOfSize:12]];
    [self.view addSubview:pngLabel];
    
    
    _webPImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(pngView.frame) + 20,demoImage.size.width, demoImage.size.height)];
    [self.view addSubview:_webPImageView];
    
    _webPLabel1 = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(_webPImageView.frame) + 5,300, 10)];
    
    [_webPLabel1 setFont:[UIFont systemFontOfSize:12]];
    [self.view addSubview:_webPLabel1];
    
    
    [UIImage imageToWebP:demoImage quality:75.0 alpha:1.0 preset:WEBP_PRESET_PHOTO completionBlock:^(NSData *result) {
        [self displayImageWithData:result];
        
    } failureBlock:^(NSError *error) {
        
    }];
    
    
    
}


- (void)displayImageWithData:(NSData *)webPData
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *webPPath = [paths[0] stringByAppendingPathComponent:@"image.webp"];
    if ([webPData writeToFile:webPPath atomically:YES]) {
        [UIImage imageWithWebP:webPPath completionBlock:^(UIImage *result) {
            uint64_t fileSize = [[[NSFileManager defaultManager] attributesOfItemAtPath:webPPath error:nil] fileSize];
            
            _webPLabel1.text = [NSString stringWithFormat:@"%@ format file size: %.2f KB ",[[webPPath pathExtension] uppercaseString],(double)fileSize / 1024];
            [_webPImageView setImage:result];
        } failureBlock:^(NSError *error) {
            
        }];
    }
    
    
}

效果:

技术分享


原文地址:http://blog.csdn.net/qqmcy/article/details/43085197

代码下载:http://download.csdn.net/detail/qqmcy/8392601



iOS WebP图片格式