package com.tutosandroidfrance.picassosample;
import android.content.Context;
import android.graphics.Bitmap;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import com.squareup.picasso.Transformation;
public class MainActivity extends ActionBarActivity {
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
Picasso.with(getBaseContext()).load("http://i.imgur.com/DvpvklR.png")
//.transform(new BlurTransformation(this))
//.transform(new ResizeTransformation(50))
//.resize(50,50)
//.fit().centerCrop()
.fit().centerInside()
.into(imageView);
}
public class ResizeTransformation implements Transformation{
//la largeur voulue
private int targetWidth;
public ResizeTransformation(int width) {
this.targetWidth = width;
}
@Override
public Bitmap transform(Bitmap source) {
double aspectRatio = (double) source.getHeight() / (double) source.getWidth();
int targetHeight = (int) (targetWidth * aspectRatio);
Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false);
if (result != source) {
// Same bitmap is returned if sizes are the same
source.recycle();
}
return result;
}
@Override
public String key() {
return "ResizeTransformation"+targetWidth;
}
}
public class BlurTransformation implements Transformation {
private Context context;
public BlurTransformation(Context context) {
this.context = context;
}
@Override
public Bitmap transform(Bitmap source) {
//Source from : https://raw.githubusercontent.com/PomepuyN/BlurEffectForAndroidDesign/master/BlurEffect/src/com/npi/blureffect/Blur.java
//Copyright : PomepuyN
Bitmap result = Blur.fastblur(context,source,10);
//si l'image a été modifiée, on désalloue la mémoire occupée par l'ancienne Bitmap
if (result != source) {
source.recycle();
}
return result;
}
//la clé va être utilisée lors de la sauvegarde en cache
@Override
public String key() {
return "BlurTransformation";
}
}
}