2013-07-25 15 views
5

Ho una domanda riguardante la libreria https://github.com/nostra13/Android-Universal-Image-Loader.È possibile impostare ImageSize con displayImage()?

Sto usando imageLoader.displayImage (...) per caricare immagini dal mio database in immagini, che sono in un listview.

La documentazione dicono questo:

ImageSize targetSize = new ImageSize(120, 80); // result Bitmap will be fit to this size 
imageLoader.loadImage(imageUri, targetSize, displayOptions, new SimpleImageLoadingListener() { 
    @Override 
    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { 
     // Do whatever you want with Bitmap 
    } 
}); 

sarebbe possibile dichiarare una dimensione di destinazione per il metodo imageLoader.displayImage?

+0

Non esiste questa possibilità per '.displayImage (...)'. Questa dimensione verrà calcolata dall'ingresso 'ImageView'considerando le sue dimensioni e il tipo di scala. È possibile specificare solo il tipo di scala in "DisplayImageOptions". Perché vuoi dichiarare la dimensione target per 'displayImage (...)'? – NOSTRA

+0

perché sto utilizzando una visualizzazione di immagini personalizzata per l'upscaling delle immagini e sta rallentando il mio ui. So sempre in anticipo quali dimensioni di immagine avrò, quindi mi piacerebbe semplicemente aggiungerla come input, quindi non devo usare l'imagesciew di upscalable (che fa l'upscaling sul thread dell'interfaccia utente). – Tamas

+0

Forse 'DisplayImageOptions.scaleType (ImageScaleType.NONE)' è quello che ti serve? Quindi ImageLoader non ridimensiona l'immagine originale. – NOSTRA

risposta

1

Si consiglia di utilizzare Picasso in alternativa a Universal-Image-Loader. È davvero elegante e le prestazioni sono davvero buone. Fornisce un buon numero di Apis. Puoi dichiarare la dimensione target usando il seguente frammento.

Picasso.with(context) 
    .load(url) 
    .resize(50, 50) 
    .centerCrop() 
    .into(imageView) 
+0

ha il supporto per il caricamento delle immagini dal database sqlite? – Tamas

2

È possibile utilizzare il metodo: public void loadImage(String uri, ImageSize targetImageSize, DisplayImageOptions options, ImageLoadingListener listener) per impostare un parametro ImageSize.

L'immagine scaricata verrà decodificata e ridimensionata in Bitmap della dimensione che è uguale o superiore (in genere un po 'più grande) rispetto a targetImageSize in arrivo.