当我从图库中选择一个图像时,我可以获得该图像的Uri,如下所示:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result) {
if (requestCode == Crop.REQUEST_PICK && resultCode == RESULT_OK) {
Uri uri = result.getData();
beginCrop(uri);
} else if (requestCode == Crop.REQUEST_CROP) {
handleCrop(resultCode, result);
}
}
上面检索到的Uri的格式是content://media/external/images/media/7266
但是,当我试图获取刚保存为文件的图像的Uri时,无法以这种格式检索Uri:
Date d = new Date();
CharSequence s = DateFormat.format("MM-dd-yy hh-mm-ss", d.getTime());
Bitmap bitmap = drawView.getResultBitmap();
File sdCardDirectory = Environment.getExternalStorageDirectory();
File image = new File(sdCardDirectory, "DCIM/Camera/" + s.toString() + ".png");
boolean success = false;
// Encode the file as a PNG image.
FileOutputStream outStream;
try {
outStream = new FileOutputStream(image);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, outStream);
/* 100 to keep full quality of the image */
outStream.flush();
outStream.close();
success = true;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (success) {
MediaScannerConnection.scanFile(getActivity(), new String[]{
image.getAbsolutePath()},
null, new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
}
});
Uri uri = Uri.parse(image.getAbsolutePath());
beginCrop(uri);
从上面的代码获得的Uri是/storage/emulated/0/dcim/camera/02-04-16 12-49-16.png
我相信,这不是正确的Uri格式,而是绝对文件路径。有没有办法让我获得格式为content://media/external/images/media/的Uri?
非常感谢任何帮助
我相信,这不是正确的Uri格式,而是绝对文件路径。
你是对的。使用uri.fromfile()
将文件
转换为指向该文件的URI
。
有没有办法让我获得格式为content://media/external/images/media/的Uri?
不容易。充其量,在onScanCompleted()
中,您可能能够运行一些查询来获取mediaStore
使用的URI
。但是,在此之前,mediastore
不知道该文件。
从uri.fromfile()
获取的URI
是有效的URI
,但它将具有file
方案,而不是content
方案。
我为用户设置了一个首选项,以选择保存文件夹为我的应用程序使用存储访问框架。获得uri后,我将其作为字符串保存到中,并在要保存时保存图像。 我获得在线 这就是我如何调用这个方法,currentFolder是我使用intent和第一个方法得到的相同文件夹。 我如何解决这个问题,哪种方法更可取,为什么?
问题内容: 当我在eclipse中导出可执行jar文件时,也需要使用res文件夹进行编译,当我使用不起作用的方法时。 当前读取的图像代码 代码无效 问题答案: 我现在已经解决了问题-这是有效的代码 fileName的值只是一个图像名称,例如BufferedImage img = loadImage(“ background.png”); 感谢大家的帮助。
问题内容: 我正在尝试通过Django Shell保存图像文件。 我的是: 一切都可以用admin和form进行,但是我想使用shell保存图像: 就像是 问题答案: 您最终将图像复制到中指定的目录中。 在这种情况下,该方法还将保存实例。可以在以下位置找到用于保存的文档:https://docs.djangoproject.com/en/dev/ref/files/file/
问题内容: 我有一个镶嵌应用程序,可以拍摄多张尺寸的照片并将它们分成较小的照片。根据照片的大小,较小照片的数量可能会有所不同。现在,我有一个名称,其中包含从较大图像中获取的所有较小图像。在此示例中,我展示了一个示例,该示例从图像资产列表中调用了图像,以使回答此问题更加容易。 这是(包含所有较小的图像) 我想要做的是有一个继续按钮,该按钮将所有这些图像按顺序保存为piffles或其他任何格式来解析,
保存图像 能将图像保存至Memory Stick™或主机内存。 1. 让指针对准想要保存的图像,从选单列中选择[档案] > [保存图像]。 2. 选择[保存]。 提示 若想变更文件名或保存位置,请选择各项输入栏,并执行决定。
当我在eclipse中导出可执行jar文件时,我需要获取res文件夹进行编译,当我使用方法时,它不起作用。 当前读取图像代码 不起作用的代码