android调用系统摄像头进行静默拍照

沙滩捡贝壳的小孩 2017-11-06 05:41:50
调用系统照相机的takePicture,回调过来的图片,
// 拍照成功回调函数
private Camera.PictureCallback myPicCallback = new Camera.PictureCallback() {

@Override
public void onPictureTaken(byte[] data, Camera camera) {

// 将得到的照片进行270度旋转,使其竖直
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
Matrix matrix = new Matrix();
matrix.preRotate(270);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),
bitmap.getHeight(), matrix, true);

iv.setImageBitmap(bitmap);
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss")
.format(new Date());

// 创建并保存图片文件
File pictureFile = new File(getDir(), "IMG_" + timeStamp + ".jpg");
try {
FileOutputStream fos = new FileOutputStream(pictureFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.close();
Log.e("Tag","拍照成功");
openFacingFrontCamera();
} catch (Exception error) {
Log.e("Tag","拍照失败:"+error);
Log.i("Tag", "保存照片失败" + error.toString());
error.printStackTrace();
openFacingFrontCamera();
}

/* myCamera.stopPreview();
myCamera.release();
myCamera = null;*/
}
};
代码是这样的,在我自己的手机上看着挺正常的,但是放到客户的那种网络一体机,就出问题了,边缘发绿了,关键它用它内置的拍照app进行拍照,出来的照片没问题的,所以就觉着是不是我哪出问题了,求解个大神!!图片就是这样的
...全文
692 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesking 2017-11-08
  • 打赏
  • 举报
回复
拍照前要先设置相应的参数.这是参考代码 public void takePic(final String SavePath, final String SaveFile){ if (camera!= null) { camera.autoFocus(null); Camera.Parameters parameters = camera.getParameters(); parameters.setPictureSize(mWidth, mHeight); parameters.setPictureFormat(PixelFormat.JPEG);// 设置照片的输出格式 parameters.set("jpeg-quality", 80);// 照片质量 camera.setParameters(parameters); camera.takePicture(null, null, new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) { String fileName; if(TextUtils.isEmpty(SaveFile)){ fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg"; }else{ fileName = SaveFile; } File out = new File(SavePath, fileName); try { FileOutputStream outStream = new FileOutputStream(out); outStream.write(data); outStream.close(); } catch (Exception e) { e.printStackTrace(); } camera.startPreview(); } }); // 拍照 } }

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧