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