Android studio 我拍照并从同一应用程序进入gallery提取图像,如何读取提取图像的路径?
我正在开发一个应用程序来拍摄照片并从图库中绘制,它可以很好地捕捉照片,但如果我从应用程序进入图库,则不会显示图像,但如果我离开应用程序并进入图库,则会显示照片,当我从应用程序重新进入图库时,它已经显示图像。 我想知道是否有一种方法可以让图像立即显示给我,但不必离开应用程序 公共类MainActivity扩展了AppCompatActivity{ 最终文件ruta_fotos=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES); 最终文件=新文件(ruta_fotos,“DemoPicture.jpg”); 私人按钮按钮; ImageView imagenAndroid studio 我拍照并从同一应用程序进入gallery提取图像,如何读取提取图像的路径?,android-studio,opencv,Android Studio,Opencv,我正在开发一个应用程序来拍摄照片并从图库中绘制,它可以很好地捕捉照片,但如果我从应用程序进入图库,则不会显示图像,但如果我离开应用程序并进入图库,则会显示照片,当我从应用程序重新进入图库时,它已经显示图像。 我想知道是否有一种方法可以让图像立即显示给我,但不必离开应用程序 公共类MainActivity扩展了AppCompatActivity{ 最终文件ruta_fotos=Environment.getExternalStoragePublicDirectory(Environment.DIR
public int cuenta=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imagen=(ImageView) findViewById(R.id.imagemId);
boton = (Button) findViewById(R.id.btnTomaFoto);
//Si no existe crea la carpeta donde se guardaran las fotos
file.mkdirs();
//accion para el boton
boton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String file = ruta_fotos + getCode() + ".jpg";
File mi_foto = new File( file );
try {
mi_foto.createNewFile();
} catch (IOException ex) {
Log.e("ERROR ", "Error:" + ex);
}
//
Uri uri = Uri.fromFile( mi_foto );
//Abre la camara para tomar la foto
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//Guarda imagen
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
//Retorna a la actividad
startActivityForResult(cameraIntent, 0);
}
});
}
@SuppressLint("SimpleDateFormat")
private String getCode()
{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmddhhmmss");
String date = dateFormat.format(new Date() );
String photoCode = "pic_" + date;
return photoCode;
}
public void Click(View view) {
cargarImagen();
}
private void cargarImagen (){
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/");
startActivityForResult(intent.createChooser(intent,"seleccione a la aplicacion"),10);
cuenta=1;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK && cuenta==1){
Uri path= data.getData();
imagen.setImageURI(path);
}
}
}
下一行我读了imageView中预定的imegen,但我想让你读一下从gallery中提取的图像,我怎么能做到?
Mat img=imread(Environment.getExternalStorageDirectory().getAbsolutePath()+“/colorbolls.jpg”) 您必须通过sendBroadcast添加图像,它将自动在gallery中显示您的图像,这意味着刷新您的gallery。捕获图像uri后,将下面的代码放在ActivityResult上
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, path));