Как получить растровый объект из Uri (если мне удастся сохранить его в
/data/data/MYFOLDER/myimage.png
или file///data/data/MYFOLDER/myimage.png
), чтобы использовать его в моем приложении?
У кого-нибудь есть идеи как это сделать?
android
uri
android-image
android-bitmap
ilredelweb
источник
источник
Ответы:
, , ВАЖНО: Смотрите ответ от @Mark Ingram ниже и @pjv для лучшего решения. , ,
Вы можете попробовать это:
Но помните, этот метод должен вызываться только из потока (не GUI-thread). Я AsyncTask.
источник
Вот правильный способ сделать это:
Если вам нужно загрузить очень большие изображения, следующий код загрузит их в виде плиток (избегая больших выделений памяти):
Смотрите ответ здесь
источник
Вот правильный способ сделать это, а также следить за использованием памяти:
Вызов getBitmap () из поста Марка Инграма также вызывает decodeStream (), поэтому вы не теряете никакой функциональности.
Ссылки:
Android: получить миниатюру изображения на SD-карте, учитывая Uri исходного изображения
Обработка больших растровых изображений
источник
getPowerOfTwoForSampleRatio()
можно пропустить. См .: developer.android.com/reference/android/graphics/…и да путь должен быть в таком формате
file:///mnt/sdcard/filename.jpg
источник
Это самое простое решение:
источник
источник
Bitmap bitmap = MediaStore.Images.Media.getBitmap(context.getContentResolver(), uri);
Похоже, что
MediaStore.Images.Media.getBitmap
это устарело в РоссииAPI 29
. Рекомендуемый способ - использоватьImageDecoder.createSource
который был добавлен вAPI 28
.Вот как можно получить растровое изображение:
источник
Вы можете получить растровое изображение из URI, как это
источник
источник
Используйте метод startActivityForResult, как показано ниже
И вы можете получить такой результат:
источник
Я пробовал много способов. эта работа для меня отлично.
Если вы выбираете Pictrue из галереи. Вы должны быть посуда получения
Uri
отintent.clipdata
илиintent.data
, потому что один из них может быть пустым в другой версии.источник
Вы можете сделать эту структуру:
этим вы можете легко конвертировать URI в растровое изображение. надеюсь помочь тебе
источник
Вкладка из
getBitmap
которых ограничена, теперь я использую следующий подход в Kotlinисточник
источник
(КОТЛИН) Итак, по состоянию на 7 апреля 2020 года ни один из вышеупомянутых вариантов не работал, но вот что сработало для меня:
Если вы хотите сохранить растровое изображение в val и установить для него imageView, используйте это:
val bitmap = BitmapFactory.decodeFile(currentPhotoPath).also { bitmap -> imageView.setImageBitmap(bitmap) }
Если вы просто хотите установить растровое изображение и imageView, используйте это:
BitmapFactory.decodeFile(currentPhotoPath).also { bitmap -> imageView.setImageBitmap(bitmap) }
источник
Полный способ получить изображение URI из мобильной галереи.
источник