@@ -37,40 +37,100 @@ github "SDWebImage/SDWebImageWebPCoder"
37
37
38
38
## Usage
39
39
40
+ ### Add Coder
41
+
42
+ Before using SDWebImage to load WebP images, you need to register the WebP Coder to your coders manager. This step is recommended to be done after your App launch (like AppDelegate method).
43
+
40
44
+ Objective-C
41
45
42
46
``` objective-c
43
47
// Add coder
44
48
SDImageWebPCoder *webPCoder = [SDImageWebPCoder sharedCoder ];
45
49
[[SDImageCodersManager sharedManager ] addCoder: webPCoder] ;
50
+ ```
51
+
52
+ + Swift
53
+
54
+ ```swift
55
+ // Add coder
56
+ let WebPCoder = SDImageWebPCoder.shared
57
+ SDImageCodersManager.shared.addCoder(WebPCoder)
58
+ ```
59
+
60
+ ### Modify HTTP Accept Header
61
+
62
+ Some of image server provider may try to detect the client supported format, by default, SDWebImage use ` image/*,*/*;q=0.8 ` for [ Accept] ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept ) . You can modify it with the ` image/webp ` as well.
63
+
64
+ + Objective-C
46
65
66
+ ``` objective-c
67
+ [[SDWebImageDownloader sharedDownloader ] setValue: @"image/webp,image/* ,* /* ;q=0.8" forHTTPHeaderField:@"Accept"] ;
68
+ ```
69
+
70
+ + Swift
71
+
72
+ ```swift
73
+ SDWebImageDownloader.shared.setValue("image/webp,image/*,*/*;q=0.8", forHTTPHeaderField:"Accept")
74
+ ```
75
+
76
+ ### Loading
77
+
78
+ + Objective-C
79
+
80
+ ``` objective-c
47
81
// WebP image loading
48
82
UIImageView *imageView;
49
83
NSURL *webpURL;
50
84
[imageView sd_setImageWithURL: webpURL] ;
51
-
52
- // WebP image encoding
53
- UIImage * image;
54
- NSData * webpData = [[ SDImageWebPCoder sharedCoder] encodedDataWithImage: image format: SDImageFormatWebP options: nil ] ;
55
85
```
56
86
57
87
+ Swift
58
88
59
89
```swift
60
- // Add coder
61
- let WebPCoder = SDImageWebPCoder.shared
62
- SDImageCodersManager.shared.addCoder(WebPCoder)
63
-
64
90
// WebP online image loading
65
91
let webpURL: URL
66
92
let imageView: UIImageView
67
93
imageView.sd_setImage(with: webpURL)
94
+ ```
68
95
96
+ ### Decoding
97
+
98
+ + Objective-C
99
+
100
+ ``` objective-c
101
+ // WebP image decoding
102
+ NSData *webpData;
103
+ UIImage *image = [[SDImageWebPCoder sharedCoder ] decodedImageWithData: webpData options: nil ] ;
104
+ ```
105
+
106
+ + Swift
107
+
108
+ ```swift
109
+ // WebP image decoding
110
+ let webpData: Data
111
+ let image = SDImageWebPCoder.shared.decodedImage(with: data, options: nil)
112
+ ```
113
+
114
+ ### Encoding
115
+
116
+ + Objective-c
117
+
118
+ ``` objective-c
119
+ // WebP image encoding
120
+ UIImage *image;
121
+ NSData *webpData = [[SDImageWebPCoder sharedCoder ] encodedDataWithImage: image format: SDImageFormatWebP options: nil ] ;
122
+ ```
123
+
124
+ + Swift
125
+
126
+ ```swift
69
127
// WebP image encoding
70
128
let image: UIImage
71
129
let webpData = SDImageWebPCoder.shared.encodedData(with: image, format: .webP, options: nil)
72
130
```
73
131
132
+ See more documentation in [ SDWebImage Wiki - Coders] ( https://github.com/SDWebImage/SDWebImage/wiki/Advanced-Usage#custom-coder-420 )
133
+
74
134
## Example
75
135
76
136
To run the example project, clone the repo, and run ` pod install ` from the Example directory first.
0 commit comments