我创建了一个应用程序,使用移动相机拍摄照片,将GPS坐标显示为文本,并将图像保存到移动设备的图库。问题是保存在手机图片库中的最终屏幕截图包含“打开相机”按钮。如何从屏幕截图(png)中删除它?
这是我的代码:
/* capture image */
private void captureImage() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photoFile = null;
try {
photoFile = createImageFile();
}
catch (IOException e) {
e.printStackTrace();
}
//fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE);
String authorities = getApplicationContext().getPackageName() + ".provider";
Uri imageUri = FileProvider.getUriForFile(this, authorities, photoFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
// start the image capture Intent
startActivityForResult(intent, CAMERA_CAPTURE_IMAGE_REQUEST_CODE);
}
/* create image file to store photo */
String mCurrentPhotoPath;
private File createImageFile() throws IOException {
// Create an image file name
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
String imageFileName = "JPEG_" + timeStamp + "_";
File storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File image = File.createTempFile(
imageFileName, /* prefix */
".jpg", /* suffix */
storageDir /* directory */
); // Save a file: path for use with ACTION_VIEW intents
mCurrentPhotoPath = image.getAbsolutePath();
return image;
}
在哪里添加openCameraButton.setVisibility(View.GONE);和openCameraButton.setVisibility(View.VISIBLE); ?拍摄照片后,有没有办法不将我的图像存储到手机的默认图片目录?
答案 0 :(得分:2)
根据你所附的描述和照片,我们可以假设这个按钮打开手机的相机并且(可能)拍照。如果这是真的,您可以在使用openCameraButton.setVisibility(View.GONE);
截屏之前隐藏按钮的可见性,并在截取屏幕截图后再次显示该按钮:openCameraButton.setVisibility(View.VISIBLE);