80,351
社区成员
发帖
与我相关
我的任务
分享
public void onPictureTaken(byte[] data, Camera camera) {
Rect rect = new Rect();
rect = myView.getSelectedRect();//获取要截取的图片区域
Parameters ps = camera.getParameters();
if(ps.getPictureFormat() == PixelFormat.JPEG){
Bitmap mBitmap = BitmapFactory.decodeByteArray(data, 0, data.length); //转为bitmap
Bitmap mBitmapSelectBitmap = mBitmap.createBitmap(mBitmap, rect.left,
rect.top, rect.width(), rect.height());//按照指定区域创建位图
byte []btTmp =Bitmap2Bytes(mBitmapSelectBitmap); //将位图转为byte数组
mBitmapSelectBitmap.recycle();
mBitmap.recycle();
}
}
//这是转数组的函数
private static byte[] Bitmap2Bytes(Bitmap bm){
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 80, baos);
return baos.toByteArray();
}