Tuesday, August 24, 2010

Convert Image to Sepia in Android

You can easily convert your images to Sepia format using this method in Android

public Bitmap ConvertToSepia(Bitmap sampleBitmap){

ColorMatrix sepiaMatrix =new ColorMatrix();
float[] sepMat={0.3930000066757202f, 0.7689999938011169f, 0.1889999955892563f, 0, 0, 0.3490000069141388f, 0.6859999895095825f, 0.1679999977350235f, 0, 0, 0.2720000147819519f, 0.5339999794960022f, 0.1309999972581863f, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1};
sepiaMatrix.set(sepMat);
final ColorMatrixColorFilter colorFilter= new ColorMatrixColorFilter(sepiaMatrix);
Bitmap rBitmap = sampleBitmap.copy(Bitmap.Config.ARGB_8888, true);
Paint paint=new Paint();
paint.setColorFilter(colorFilter);
Canvas myCanvas =new Canvas(rBitmap);
myCanvas.drawBitmap(rBitmap, 0, 0, paint);
return rBitmap;
}

2 comments: