Java 如何将图像文件从摄影机添加到我创建的路径文件
好的,我一直在寻找解决这个问题的方法,我从相机或图库中捕获了一个图像,并创建了一个图像文件路径,但不幸的是,我可以获得图像,因为相机或图库中的图像实际上不在创建的文件路径中。那么我该如何解决这个问题呢 我真的不知道该说什么,但我确信我已经尽了我所能来解决这个问题,但我现在处于昏迷状态Java 如何将图像文件从摄影机添加到我创建的路径文件,java,android,Java,Android,好的,我一直在寻找解决这个问题的方法,我从相机或图库中捕获了一个图像,并创建了一个图像文件路径,但不幸的是,我可以获得图像,因为相机或图库中的图像实际上不在创建的文件路径中。那么我该如何解决这个问题呢 我真的不知道该说什么,但我确信我已经尽了我所能来解决这个问题,但我现在处于昏迷状态 // function for the createdImageFile.... private File createImageFile() throws IOException { // Create
// function for the createdImageFile....
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 */
);
如何将接收到的图像实际放入此路径中?我假设您希望从拍摄的照片中获取URI。 要从多媒体资料和照相机中拾取图像,您可以尝试以下方法: 1) 此方法用于从库中拾取图像
private void pickFromGallery(int galleryCode) {
URI_REQUEST_CODE = galleryCode;
Intent intent;
if (Build.VERSION.SDK_INT < 19) {
intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, GALLERY_REQUEST_CODE);
} else {
intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, GALLERY_REQUEST_CODE);
}
}
3) 构建onActivityResult方法
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// Result code is RESULT_OK only if the user selects an Image
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == GALLERY_REQUEST_CODE) {
if (URI_REQUEST_CODE == 1) {
Uri selectedImage = data.getData();
if (selectedImage != null) {
Toast.makeText(this, selectedImage.toString(), Toast.LENGTH_SHORT).show();
Log.i("UriFromGalleryPicture", "onActivityResult: " + selectedImage.toString());
}
} else if (URI_REQUEST_CODE == 2) {
if (checkPermissionREAD_EXTERNAL_STORAGE(this)) {
Toast.makeText(this, uri.toString(), Toast.LENGTH_SHORT).show();
Log.i("UriFromCameraPicture", "onActivityResult: " + uri);
}
}
4) 在需要图像URI的位置调用pickFromGallery(1)/dispatchTakePictureContent(2)方法
如果这有帮助,请告诉我们,您应该在问题中添加详细的错误,以及为图像生成的路径
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// Result code is RESULT_OK only if the user selects an Image
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == GALLERY_REQUEST_CODE) {
if (URI_REQUEST_CODE == 1) {
Uri selectedImage = data.getData();
if (selectedImage != null) {
Toast.makeText(this, selectedImage.toString(), Toast.LENGTH_SHORT).show();
Log.i("UriFromGalleryPicture", "onActivityResult: " + selectedImage.toString());
}
} else if (URI_REQUEST_CODE == 2) {
if (checkPermissionREAD_EXTERNAL_STORAGE(this)) {
Toast.makeText(this, uri.toString(), Toast.LENGTH_SHORT).show();
Log.i("UriFromCameraPicture", "onActivityResult: " + uri);
}
}