fix android compress rotat bug

This commit is contained in:
dmcBig 2018-05-31 10:22:28 +08:00
parent 12c147d063
commit 3c8440f703
4 changed files with 18 additions and 5 deletions

View File

@ -1,6 +1,6 @@
{
"name": "cordova-plugin-mediapicker-dmcbig",
"version": "2.1.5",
"version": "2.1.6",
"description": "android ios mediaPicker support selection of multiple image and video",
"cordova": {
"id": "cordova-plugin-mediapicker-dmcbig",
@ -20,7 +20,9 @@
"cordova-android",
"cordova-ios",
"mediaPicker",
"videoPicker"
"videoPicker",
"compress",
"fileToBlob"
],
"author": "dmcBig",
"license": "ISC",

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="cordova-plugin-mediapicker-dmcbig" version="2.1.5">
<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android" id="cordova-plugin-mediapicker-dmcbig" version="2.1.6">
<name>MediaPicker</name>
<js-module name="MediaPicker" src="www/MediaPicker.js">
<clobbers target="window.MediaPicker"/>

View File

@ -1,5 +1,6 @@
# MediaPicker v:2.1.1
# MediaPicker v:2.1.5
android ios mediaPicker support selection of multiple image and video
[GitHub:](https://github.com/dmcBig/cordova-plugin-mediaPicker) https://github.com/dmcBig/cordova-plugin-mediaPicker
How do I use?
-------------------

View File

@ -5,6 +5,7 @@ import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.media.ExifInterface;
import android.media.ThumbnailUtils;
import android.provider.MediaStore;
@ -249,7 +250,7 @@ public class MediaPicker extends CordovaPlugin {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
String compFileName="dmcMediaPickerCompress"+System.currentTimeMillis()+".jpg";
File file= new File(cordova.getActivity().getExternalCacheDir(),compFileName);
BitmapFactory.decodeFile(path).compress(Bitmap.CompressFormat.JPEG, quality, baos);
rotatingImage(getBitmapRotate(path),BitmapFactory.decodeFile(path)).compress(Bitmap.CompressFormat.JPEG, quality, baos);
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(baos.toByteArray());
@ -284,6 +285,15 @@ public class MediaPicker extends CordovaPlugin {
return degree;
}
private static Bitmap rotatingImage(int angle, Bitmap bitmap) {
//rotate image
Matrix matrix = new Matrix();
matrix.postRotate(angle);
//create a new image
return Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix,
true);
}
public byte[] extractThumbnailByte(String path,int mediaType,int quality) {