2016-09-10 1 views
-1

Я пользуюсь picasso библиотекой для загрузки изображений. Я нахожу два способа уменьшить размер изображений. Что такое различие уменьшить размер изображения, используя размерКакая разница в уменьшении размера изображения с помощью изменения размера и преобразования в пикассо?

Picasso 
.with(context) 
.load(imageurl) 
.resize(200, 100) 
.onlyScaleDown() // the image will only be resized if it's bigger than 200x100 pixels. 
.into(imageViewResizeScaleDown); 

и используя метод преобразования как этот

public class BitmapTransform implements Transformation { 

int maxWidth; 
int maxHeight; 

public BitmapTransform(int maxWidth, int maxHeight) { 
    this.maxWidth = maxWidth; 
    this.maxHeight = maxHeight; 
} 

@Override 
public Bitmap transform(Bitmap source) { 
    int targetWidth, targetHeight; 
    double aspectRatio; 

    if (source.getWidth() > source.getHeight()) { 
     targetWidth = maxWidth; 
     aspectRatio = (double) source.getHeight()/(double) source.getWidth(); 
     targetHeight = (int) (targetWidth * aspectRatio); 
    } else { 
     targetHeight = maxHeight; 
     aspectRatio = (double) source.getWidth()/(double) source.getHeight(); 
     targetWidth = (int) (targetHeight * aspectRatio); 
    } 

    Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false); 
    if (result != source) { 
     source.recycle(); 
    } 
    return result; 
} 

@Override 
public String key() { 
    return maxWidth + "x" + maxHeight; 
} 

};

Picasso.with(context).load(imageurl) 
        .transform(new BitmapTransform (200, 100)) 
        .into(imageViewResizeScaleDown); 

Баки для вашей помощи

+0

Преобразования обычно используются для преобразования растрового изображения, например, в круглое и т. Д. Я думаю, что это реальная разница. –

ответ

0

The resize() используется буквально для изменения размера изображения в то время как Transformation представляет собой интерфейс для работы с изображениями. например Создание изображения Оттенки серого и т. Д. Хотя вы можете использовать его также для изменения размера изображения, но цель не предназначена для этого.

 Смежные вопросы

  • Нет связанных вопросов^_^