From 4101a19a8f119fd4d5408efcfd9db6e90c82ac0c Mon Sep 17 00:00:00 2001 From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674> Date: 星期三, 19 四月 2017 11:22:03 +0800 Subject: [PATCH] --- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java | 22 ++-------------------- VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/BitmapUtil.java | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/BitmapUtil.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/BitmapUtil.java new file mode 100644 index 0000000..519521d --- /dev/null +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/BitmapUtil.java @@ -0,0 +1,33 @@ +package cn.com.basic.face.util; + +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.graphics.PorterDuff; +import android.graphics.PorterDuffXfermode; +import android.graphics.Rect; + +public class BitmapUtil { + + public static Bitmap getCroppedBitmap(Bitmap bitmap) { + int min = bitmap.getWidth() > bitmap.getHeight() ? bitmap.getHeight() : bitmap.getWidth(); + + Bitmap output = Bitmap.createBitmap(min, + min, 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, min, min); + + paint.setAntiAlias(true); + canvas.drawARGB(0, 0, 0, 0); + paint.setColor(color); + canvas.drawCircle(min / 2, min / 2, + min / 2, paint); + paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); + canvas.drawBitmap(bitmap, rect, rect, paint); + return output; + } + +} diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java index c28e6fb..90eed30 100644 --- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java +++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/widget/checkin/CheckInRightVisitorCell.java @@ -27,6 +27,7 @@ import cn.com.basic.face.discern.query.item.CheckInQueryItem; import cn.com.basic.face.util.AppApi; +import cn.com.basic.face.util.BitmapUtil; public class CheckInRightVisitorCell extends LinearLayout{ @@ -71,27 +72,8 @@ } } - public Bitmap getCroppedBitmap(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.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); - return output; - } - public void setPhoto(Bitmap photo) { - fragment_check_in_right_visitor_cell_photo.setImageBitmap(getCroppedBitmap(photo)); + fragment_check_in_right_visitor_cell_photo.setImageBitmap(BitmapUtil.getCroppedBitmap(photo)); fragment_check_in_right_visitor_cell_photo_placeholder.setVisibility(INVISIBLE); } -- Gitblit v1.8.0