/* * This file is part of the SDWebImage package. * (c) Olivier Poitrey * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ #import "ViewController.h" #import #import @interface ViewController () @property (nonatomic, strong) UIImageView *imageView1; @property (nonatomic, strong) SDAnimatedImageView *imageView2; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [[SDImageCodersManager sharedManager] addCoder:[SDImageWebPCoder sharedCoder]]; self.imageView1 = [UIImageView new]; self.imageView1.contentMode = UIViewContentModeScaleAspectFit; [self.view addSubview:self.imageView1]; self.imageView2 = [SDAnimatedImageView new]; self.imageView2.contentMode = UIViewContentModeScaleAspectFit; [self.view addSubview:self.imageView2]; NSURL *staticWebPURL = [NSURL URLWithString:@"https://www.gstatic.com/webp/gallery/2.webp"]; NSURL *animatedWebPURL = [NSURL URLWithString:@"http://littlesvr.ca/apng/images/world-cup-2014-42.webp"]; [self.imageView1 sd_setImageWithURL:staticWebPURL completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) { if (image) { NSLog(@"%@", @"Static WebP load success"); } dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSData *webpData = [image sd_imageDataAsFormat:SDImageFormatWebP]; if (webpData) { NSLog(@"%@", @"WebP encoding success"); } }); }]; [self.imageView2 sd_setImageWithURL:animatedWebPURL completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) { if (image) { NSLog(@"%@", @"Animated WebP load success"); } }]; } - (void)viewWillLayoutSubviews { [super viewWillLayoutSubviews]; self.imageView1.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height / 2); self.imageView2.frame = CGRectMake(0, self.view.bounds.size.height / 2, self.view.bounds.size.width, self.view.bounds.size.height / 2); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end