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) { }]; } }
效果: