Class ExifInterfaceImageHeaderParser
java.lang.Object
com.bumptech.glide.load.resource.bitmap.ExifInterfaceImageHeaderParser
- All Implemented Interfaces:
ImageHeaderParser
@RequiresApi(27)
public final class ExifInterfaceImageHeaderParser
extends Object
implements ImageHeaderParser
Uses
ExifInterface to parse orientation data.
ExifInterface supports the HEIF format on OMR1+. Glide's DefaultImageHeaderParser
doesn't currently support HEIF. In the future we should reconcile these two classes, but for now
this is a simple way to ensure that HEIF files are oriented correctly on platforms where they're
supported.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.bumptech.glide.load.ImageHeaderParser
ImageHeaderParser.ImageType -
Field Summary
Fields inherited from interface com.bumptech.glide.load.ImageHeaderParser
UNKNOWN_ORIENTATION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintgetOrientation(InputStream is, ArrayPool byteArrayPool) Parse the orientation from the image header.intgetOrientation(ByteBuffer byteBuffer, ArrayPool byteArrayPool) getType(InputStream is) getType(ByteBuffer byteBuffer)
-
Constructor Details
-
ExifInterfaceImageHeaderParser
public ExifInterfaceImageHeaderParser()
-
-
Method Details
-
getType
- Specified by:
getTypein interfaceImageHeaderParser
-
getType
- Specified by:
getTypein interfaceImageHeaderParser
-
getOrientation
public int getOrientation(@NonNull InputStream is, @NonNull ArrayPool byteArrayPool) throws IOException Description copied from interface:ImageHeaderParserParse the orientation from the image header. If it doesn't handle this image type (or this is not an image) it will return a default value rather than throwing an exception.- Specified by:
getOrientationin interfaceImageHeaderParser- Returns:
- The exif orientation if present or -1 if the header couldn't be parsed or doesn't contain an orientation
- Throws:
IOException
-
getOrientation
public int getOrientation(@NonNull ByteBuffer byteBuffer, @NonNull ArrayPool byteArrayPool) throws IOException - Specified by:
getOrientationin interfaceImageHeaderParser- Throws:
IOException
-