使用image库,代码如下
var _imageBytes = await imageFile.readAsBytes();
var image = imgLib.decodeImage(_imageBytes!);
if (image != null) {
///图片是横向的,宽高比对调
if (image.exif.hasOrientation &&
((image.exif.orientation == 5) ||
(image.exif.orientation == 6) ||
(image.exif.orientation == 7) ||
(image.exif.orientation == 8))) {
_imageAspect = image.height / image.width;
} else {
_imageAspect = image.width / image.height;
}
}
照片大部分有exif会记录拍照信息,如图照片方向,使用了前后摄像头等。
当 exif.orientation = 5,6,7,8时通常照片为水平,且IOS需要处理,Android通常不需要处理方向问题