mirror of
https://github.com/oxen-io/session-android.git
synced 2025-10-19 09:21:54 +00:00

committed by
Moxie Marlinspike

parent
c4a37e38ab
commit
54a37cc658
@@ -7,17 +7,20 @@ import android.graphics.Bitmap.Config;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.ImageFormat;
|
||||
import android.graphics.Matrix;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.PorterDuffXfermode;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.RectF;
|
||||
import android.graphics.YuvImage;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
|
||||
@@ -210,6 +213,7 @@ public class BitmapUtil {
|
||||
}
|
||||
|
||||
public static Bitmap rotateBitmap(Bitmap bitmap, int angle) {
|
||||
if (angle == 0) return bitmap;
|
||||
Matrix matrix = new Matrix();
|
||||
matrix.postRotate(angle);
|
||||
Bitmap rotated = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
|
||||
@@ -268,6 +272,24 @@ public class BitmapUtil {
|
||||
return output;
|
||||
}
|
||||
|
||||
public static Bitmap createFromNV21(@NonNull final byte[] data,
|
||||
final int width,
|
||||
final int height,
|
||||
final int rotation,
|
||||
final Rect croppingRect)
|
||||
throws IOException
|
||||
{
|
||||
YuvImage previewImage = new YuvImage(data, ImageFormat.NV21,
|
||||
width, height, null);
|
||||
|
||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||
previewImage.compressToJpeg(croppingRect, 100, outputStream);
|
||||
byte[] bytes = outputStream.toByteArray();
|
||||
outputStream.close();
|
||||
outputStream = new ByteArrayOutputStream();
|
||||
return BitmapUtil.rotateBitmap(BitmapFactory.decodeByteArray(bytes, 0, bytes.length), rotation);
|
||||
}
|
||||
|
||||
public static Bitmap createFromDrawable(final Drawable drawable, final int width, final int height) {
|
||||
final AtomicBoolean created = new AtomicBoolean(false);
|
||||
final Bitmap[] result = new Bitmap[1];
|
||||
|
Reference in New Issue
Block a user