源 sourceBitmap 应该适当准备,即过滤和缩放,例如适当的密度等。
然后你必须定义一个矩形来抓住一个人的一部分。说:
int desiredX0Lcl=50,
desiredY0Lcl=70,
desiredX1Lcl=400,
desiredY1Lcl=500;
Rect sourceRectLcl= new Rect();
sourceRectLcl.set(desiredX0Lcl,desiredY0Lcl,desiredX1Lcl,desiredY1Lcl);
现在创建一个目标矩形,其边界与 sourceBitmap 的所需部分匹配:
Rect destinationRectLcl=new Rect();
int widthLcl=desiredX1Lcl-desiredX0Lcl;
int heightLcl=desiredY1Lcl-desiredY0Lcl;
destinationRectLcl.set(0,0,widthLcl,heightLcl);
创建destinationCanvas:
Bitmap baseCanvasBitmapLcl = Bitmap.createBitmap(widthLcl,heightLcl ,Bitmap.Config.ARGB_8888);
Canvas destCanvasLcl = new Canvas(baseCanvasBitmapLcl);
并在 sourceBitmap 的所需部分绘制:
destCanvasLcl.drawBitmap(sourceBitmap,sourceRectLcl,destinationRectLcl,null);
//sourceBitmap.recycle;