package com.piusvelte.sonet.util; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; import com.squareup.picasso.Transformation; /** * Created by bemmanuel on 5/27/15. */ public class ScreenTransformation implements Transformation { private Paint mTintPaint = new Paint(); private String mKey; public ScreenTransformation(int colorRes) { mKey = ScreenTransformation.class.getSimpleName() + ":" + colorRes; ColorFilter tint = new PorterDuffColorFilter(colorRes, PorterDuff.Mode.SCREEN); mTintPaint.setColorFilter(tint); } @Override public Bitmap transform(Bitmap source) { if (source != null) { Bitmap out = source.copy(Bitmap.Config.ARGB_8888, true); if (out != source) { source.recycle(); } if (out != null) { Canvas canvas = new Canvas(out); canvas.drawBitmap(out, 0, 0, mTintPaint); } return out; } return null; } @Override public String key() { return mKey; } }