Comments (2)
Hello! Sorry i don't use kotlin so this may be unhelpful but in Python, upon performing something similar, the photo had exif rotation data. You can either get rid of that rotation data or better yet, just utilize that date so your device actually knows what the "Right side up" is.
Here is the Python code after opening it with PIL:
ImageOps.exif_transpose(img)
Hope this helps and there is a Kotlin equivalent
from compressor.
I am getting issue, when Image is taken from front camera it gets Rotated after compression,
You can add this code to your own class, call the function and save bitmap to file after get rotated image.
private fun getRotateImage(photoPath: String?, bitmap: Bitmap): Bitmap? {
val ei = ExifInterface(
photoPath!!
)
val orientation = ei.getAttributeInt(
ExifInterface.TAG_ORIENTATION,
ExifInterface.ORIENTATION_UNDEFINED
)
val rotatedBitmap: Bitmap? = when (orientation) {
ExifInterface.ORIENTATION_ROTATE_90 -> rotateImage(bitmap, 90f)
ExifInterface.ORIENTATION_ROTATE_180 -> rotateImage(bitmap, 180f)
ExifInterface.ORIENTATION_ROTATE_270 -> rotateImage(bitmap, 270f)
ExifInterface.ORIENTATION_NORMAL -> bitmap
else -> bitmap
}
return rotatedBitmap
}
private fun rotateImage(source: Bitmap, angle: Float): Bitmap? {
val matrix = Matrix()
matrix.postRotate(angle)
return Bitmap.createBitmap(
source, 0, 0, source.width, source.height,
matrix, true
)
}
val bitmap: Bitmap = MediaStore.Images.Media.getBitmap(contentResolver, uri)
val rotatedImage = CheckRotatedImage.getRotateImage(filePathReal, bitmap)`
from compressor.
Related Issues (20)
- Android compression will lost metadata of image
- PNG size constraint not working HOT 2
- Aren't many satisfy method in Constraint Interface, a CPU Intensive method, why does it run on Dispatchers.IO ?
- Ability to delete cached image. HOT 1
- Delete cache on exception
- Fatal Exception: kotlin.io.NoSuchFileException HOT 1
- Caused by java.io.FileNotFoundException: on Xiaomi Redmi Note 9 HOT 1
- Custom compress not giving the expected image size. HOT 2
- How to add maven dependency of this library
- compressor
- 1
- format(Bitmap.CompressFormat.JPEG)
- Compressed File Size is Constant HOT 2
- File already exist exception when attempting to compress some images (random) HOT 1
- Found a bug
- Found a bug
- Fatal Exception: java.io.IOException close failed: EACCES (Permission denied) HOT 1
- Webp performance is slow and wrong quality issues - Workarounds
- Requested resolution not set for the photo.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from compressor.