@@ -12,24 +12,30 @@ Just support jpeg, gif, png, webp, bmp.
12
12
import 'dart:io';
13
13
14
14
import 'package:image_size_getter/image_size_getter.dart';
15
- import 'package:image_size_getter/file_input.dart'; // For compatibility with flutter web.
15
+ import 'package:image_size_getter/file_input.dart';
16
16
17
17
void main(List<String> arguments) async {
18
18
final file = File('asset/IMG_20180908_080245.jpg');
19
- final size = ImageSizeGetter.getSize(FileInput(file));
20
- print('jpg = $size');
19
+ final jpgResult = ImageSizeGetter.getSizeResult(FileInput(file));
20
+ print(
21
+ 'jpg = ${jpgResult.size} (decoded by ${jpgResult.decoder.decoderName})');
21
22
22
23
final pngFile = File('asset/ic_launcher.png');
23
- final pngSize = ImageSizeGetter.getSize(FileInput(pngFile));
24
- print('png = $pngSize');
24
+ final pngResult = ImageSizeGetter.getSizeResult(FileInput(pngFile));
25
+ print(
26
+ 'png = ${pngResult.size} (decoded by ${pngResult.decoder.decoderName})');
25
27
26
28
final webpFile = File('asset/demo.webp');
27
- final webpSize = ImageSizeGetter.getSize(FileInput(webpFile));
28
- print('webp = $webpSize');
29
+ final webpResult = ImageSizeGetter.getSizeResult(FileInput(webpFile));
30
+ print(
31
+ 'webp = ${webpResult.size} (decoded by ${webpResult.decoder.decoderName})');
29
32
30
33
final gifFile = File('asset/dialog.gif');
31
- final gifSize = ImageSizeGetter.getSize(FileInput(gifFile));
32
- print('gif = $gifSize');
34
+ final gifResult = ImageSizeGetter.getSizeResult(FileInput(gifFile));
35
+ print(
36
+ 'gif = ${gifResult.size} (decoded by ${gifResult.decoder.decoderName})');
37
+
38
+ // errorExample();
33
39
}
34
40
35
41
```
@@ -40,8 +46,10 @@ void main(List<String> arguments) async {
40
46
import 'package:image_size_getter/image_size_getter.dart';
41
47
42
48
void foo(Uint8List image){
43
- final memoryImageSize = ImageSizeGetter.getSize(MemoryInput(image));
44
- print('memoryImageSize = $memoryImageSize');
49
+ final memoryImageSizeResult = ImageSizeGetter.getSizeResult(MemoryInput(image));
50
+ final size = memoryImageSizeResult.size;
51
+ final decoder = memoryImageSizeResult.decoder;
52
+ print('size = $size, decoder = ${decoder.decoderName}');
45
53
}
46
54
```
47
55
@@ -60,14 +68,16 @@ We can use next code to get width and height.
60
68
61
69
``` dart
62
70
void foo(File file) {
63
- final size = ImageSizeGetter.getSize(FileInput(file));
71
+ final sizeResult = ImageSizeGetter.getSizeResult(FileInput(file));
72
+ final size = sizeResult.size;
64
73
if (size.needRotate) {
65
74
final width = size.height;
66
75
final height = size.width;
67
76
print('width = $width, height = $height');
68
77
} else {
69
78
print('width = ${size.width}, height = ${size.height}');
70
79
}
80
+ print('decoder = ${sizeResult.decoder.decoderName}');
71
81
}
72
82
```
73
83
@@ -160,7 +170,7 @@ const BmpDecoder decoder = BmpDecoder();
160
170
final input = FileInput(bmp);
161
171
162
172
assert(decoder.isValid(input));
163
- expect(decoder.getSize (input), Size(256, 256));
173
+ expect(decoder.getSizeResult (input).size , Size(256, 256));
164
174
```
165
175
166
176
#### Register custom decoder to image size getter
@@ -188,7 +198,8 @@ void decodeWithImageInput(ImageInput input) {
188
198
print('isGif: $isGif');
189
199
190
200
if (isGif) {
191
- final size = decoder.getSize(input);
201
+ final sizeResult = decoder.getSizeResult(input);
202
+ final size = sizeResult.size;
192
203
print('size: $size');
193
204
}
194
205
}
@@ -199,7 +210,8 @@ void decodeWithAsyncImageInput(AsyncImageInput input) async {
199
210
print('isPng: $isPng');
200
211
201
212
if (isPng) {
202
- final size = await decoder.getSizeAsync(input);
213
+ final sizeResult = await decoder.getSizeResultAsync(input);
214
+ final size = sizeResult.size;
203
215
print('size: $size');
204
216
}
205
217
}
@@ -216,8 +228,9 @@ So, if you want to get flutter asset image size, you must convert it to memory(U
216
228
217
229
``` dart
218
230
final buffer = await rootBundle.load('assets/logo.png'); // get the byte buffer
219
- final memoryImageSize = ImageSizeGetter.getSize(MemoryInput.byteBuffer(buffer));
220
- print('memoryImageSize = $memoryImageSize');
231
+ final memoryImageSizeResult = ImageSizeGetter.getSizeResult(MemoryInput.byteBuffer(buffer));
232
+ final size = memoryImageSizeResult.size;
233
+ print('size = $size');
221
234
```
222
235
223
236
## LICENSE
0 commit comments