Как я могу изменить размер файла изображения в Kotlin - PullRequest
0 голосов
/ 03 июня 2019

Мое приложение берет фотографии и сохраняет их в мобильном телефоне, однако, когда мой список загружает много фотографий, он становится очень медленным, поэтому мне нужно снизить разрешение для фотографий. Как я могу это сделать?

Вот так я создаю картинку

fun createImage():File{
        val timeStamp = SimpleDateFormat("yyyyMMdd_HHmmss").format(Date())
        val imageName = "JPEG_"+timeStamp+"_"
        var storageDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES)
        var image = File.createTempFile(imageName,".jpg",storageDir)

        currentPath=image.absolutePath
        return image
    }

Вот так я загружаю картинку

  var beerPhoto: ImageView?=null
  ....
  viewHolder.beerPhoto?.setImageURI(Uri.parse(userDto.beerPhoto))

Ответы [ 2 ]

1 голос
/ 03 июня 2019

Вы можете использовать glide для изменения размера изображения и масштабирования. Это намного проще

GlideApp  
    .with(context)
    .load(userDto.beerPhoto)
    .override(600, 200)  // it don't maintain aspect ratio 
    .into(beerPhoto);

Для сохранения соотношения сторон вы можете использовать явное масштабирование изображений

GlideApp  
    .with(context)
    .load(userDto.beerPhoto)
    .override(600, 200)
    .centerCrop() // or use fitcenter
    .into(beerPhoto);

0 голосов
/ 03 июня 2019

Пожалуйста, используйте Glide для загрузки изображений с сервера и изменения его размера. Это очень легко и полезно для вас, я думаю.

Пожалуйста, проверьте ниже ссылку для более подробной информации для изменения размера изображения

https://guides.codepath.com/android/Displaying-Images-with-the-Glide-Library

хранилища {

mavenCentral ()

Google ()

}

зависимости

{ реализация 'com.github.bumptech.glide: glide: 4.9.0'

annotationProcessor 'com.github.bumptech.glide: компилятор: 4.9.0' } * * Тысяча двадцать-один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...