aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2016-05-16 01:35:46 +0200
committersteckbrief <steckbrief@chefmail.de>2016-05-16 01:35:46 +0200
commitfe78f858bacf54f8285db31b7d6aa65ff3628f15 (patch)
tree93b81f8069c24ab3ad07a4f389a752914b791513 /src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java
parent351db27a77c200e526b86c318213b72cd65d1b7b (diff)
avatar displayed as a circle, positioning adjusted, colors changed back to correct ones, positioning moved to own class file
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java b/src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java
index bf79d7e0..18197e3b 100644
--- a/src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java
+++ b/src/main/java/de/thedevstack/conversationsplus/utils/ImageUtil.java
@@ -4,6 +4,10 @@ import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
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.media.ExifInterface;
import android.net.Uri;
@@ -365,6 +369,34 @@ public final class ImageUtil {
return inSampleSize;
}
+ /**
+ * Get a circled cut-out of a bitmap.
+ * @param bitmap the original bitmap
+ * @return the circled cut-out of the original bitmap
+ * @see <a href="http://stackoverflow.com/questions/11932805/cropping-circular-area-from-bitmap-in-android">http://stackoverflow.com/questions/11932805/cropping-circular-area-from-bitmap-in-android</a>
+ */
+ public static Bitmap getCircleBitmap(Bitmap bitmap) {
+ Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),
+ bitmap.getHeight(), Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(output);
+
+ final int color = 0xff424242;
+ final Paint paint = new Paint();
+ final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
+
+ paint.setAntiAlias(true);
+ canvas.drawARGB(0, 0, 0, 0);
+ paint.setColor(color);
+ // canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
+ canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,
+ bitmap.getWidth() / 2, paint);
+ paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
+ canvas.drawBitmap(bitmap, rect, rect, paint);
+ //Bitmap _bmp = Bitmap.createScaledBitmap(output, 60, 60, false);
+ //return _bmp;
+ return output;
+ }
+
private ImageUtil() {
// Static helper class
}