Изменение размера изображений с помощью библиотеки Fresco на Java

Я использую библиотеку Fresco от Facebook для загрузки и отображения изображения с URL-адреса.

Uri uri = Uri.parse(image_url);
imageView.setImageURI(uri);

Как я могу изменить размер этого изображения в java?


person Ronn    schedule 04.01.2016    source источник
comment
frescolib.org/docs/resizing.html   -  person Shahab Rauf    schedule 23.10.2019


Ответы (1)


читая документацию Fresco, я нашел это:

Изменение размера

Изменение размера не изменяет исходный файл. Изменение размера просто изменяет размер закодированного изображения в памяти до его декодирования.

Чтобы изменить размер, передайте объект ResizeOptions при создании ImageRequest:

Uri uri = "file:///mnt/sdcard/MyApp/myfile.jpg";
int width = 50, height = 50;
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
    .setResizeOptions(new ResizeOptions(width, height))
    .build();
PipelineDraweeController controller = Fresco.newDraweeControllerBuilder()
    .setOldController(mDraweeView.getController())
    .setImageRequest(request)
    .build();
mSimpleDraweeView.setController(controller);

Изменение размера имеет некоторые ограничения:

  • он поддерживает только файлы JPEG
  • фактическое изменение размера осуществляется с точностью до 1/8 исходного размера
  • он не может сделать ваше изображение больше, только меньше (хотя это не настоящее ограничение)

Если у вас есть какие-либо вопросы, пожалуйста, спросите

Надеюсь, это поможет

person piotrek1543    schedule 04.01.2016