mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-15 19:26:42 +08:00
fixed image rotation
This commit is contained in:
@ -63,6 +63,21 @@ export var takePicture = function (options?): Promise<any> {
|
||||
scaledSizeImage = bitmap;
|
||||
}
|
||||
|
||||
var ei = new android.media.ExifInterface(tempPicturePath);
|
||||
var orientation = ei.getAttributeInt(android.media.ExifInterface.TAG_ORIENTATION, android.media.ExifInterface.ORIENTATION_NORMAL);
|
||||
|
||||
switch (orientation) {
|
||||
case android.media.ExifInterface.ORIENTATION_ROTATE_90:
|
||||
scaledSizeImage = rotateBitmap(scaledSizeImage, 90);
|
||||
break;
|
||||
case android.media.ExifInterface.ORIENTATION_ROTATE_180:
|
||||
scaledSizeImage = rotateBitmap(scaledSizeImage, 180);
|
||||
break;
|
||||
case android.media.ExifInterface.ORIENTATION_ROTATE_270:
|
||||
scaledSizeImage = rotateBitmap(scaledSizeImage, 270);
|
||||
break;
|
||||
}
|
||||
|
||||
var imageSource: typeof imageSourceModule = require("image-source");
|
||||
|
||||
resolve(imageSource.fromNativeSource(scaledSizeImage));
|
||||
@ -102,4 +117,10 @@ var createDateTimeStamp = function () {
|
||||
date.getMinutes().toString() +
|
||||
date.getSeconds().toString();
|
||||
return result;
|
||||
}
|
||||
|
||||
var rotateBitmap = function (source, angle) {
|
||||
var matrix = new android.graphics.Matrix();
|
||||
matrix.postRotate(angle);
|
||||
return android.graphics.Bitmap.createBitmap(source, 0, 0, source.getWidth(), source.getHeight(), matrix, true);
|
||||
}
|
Reference in New Issue
Block a user