Я хочу, чтобы загрузить фотографию из моей камеры непосредственно в папку диска:Загрузить фото ездить без сжатия
OutputStream outputStream = result.getDriveContents().getOutputStream();
ByteArrayOutputStream bitmapStream = new ByteArrayOutputStream();
/* image is my Bitmap */
image.compress(Bitmap.CompressFormat.PNG, 100, bitmapStream);
try {
outputStream.write(bitmapStream.toByteArray());
} catch (IOException e1) {
Log.i(TAG, "Unable to write file contents.");
}
Так им делать это, и это работает. Проблема в том, что мои фотографии на диске очень низкого качества, и мне нужно иметь видео высокого качества.
Я уже пытался этим решением Converting bitmap to byteArray android
Но в Драйве фото не было признать медиа-файл и не могу читать. Возможно, я что-то провалил.
EDIT: я сделал в точности то же самое, что является там https://stackoverflow.com/a/13000774/6644403 и делать так, чтобы получить мой Bitmap в ActivityResult:
try {
mBitmapToSave = MediaStore.Images.Media.getBitmap(this.getContentResolver(), data.getData());
} catch (IOException e) {
e.printStackTrace();
}
Возможно, вы захотите предоставить uri для выходного изображения, как описано в этом SO [вопрос] (http://stackoverflow.com/a/10272781/5995040). Если «uri» не поставляется, намерение камеры вернет только миниатюру изображения. Вы также можете проверить этот учебник - [Take Picture in Android] (http://www.tutorialforandroid.com/2010/10/take-picture-in-android-with.html), чтобы узнать, как реализация того, как это сделать это правильно. Надеюсь это поможет. –
Я пробовал это, но не знаю, почему я не нашел способ получить растровое изображение в конце концов. Когда я пытаюсь указать uri, я не могу получить изображение в полном размере –