下面是从图库中获取图像的代码。
Future getImage() async {
var image = await ImagePicker().getImage(source: ImageSource.gallery);
getImageSize();
// imageQuality: 50;
setState(() {
selectedImage = File(image!.path);
});
}
代码获取所选图像的大小。
double getImageSize(File selectedImage) {
final bytes = selectedImage.readAsBytesSync().lengthInBytes;
final kb = bytes / 1024;
final mb = kb / 1024;
if (kb < 5000.0) {
print("Image is Less than 5MB");
} else {
print("Image is More than 5MB...!!!");
}
return kb;
}
因此,在选择图像并检查图像是否小于5mb之后,它应该返回"kb"如果图片大小大于5mb;那么该函数应该在SnackBar中显示错误消息。
你可以这样做
XFile? imageFile = await ImagePicker().pickImage(source: ImageSource.camera);
if (imageFile != null) {
final decodedImage = await decodeImageFromList(await imageFile.readAsBytes());
if (decodedImage.height > 255 && decodedImage.width > 255) {
//do your validation here
}
}