package com.sandro.example;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class ColorMatirxTestView extends View{
private float[] colorArray;
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Bitmap mBitmap;
public ColorMatirxTestView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init(context);
}
public ColorMatirxTestView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public ColorMatirxTestView(Context context) {
super(context);
init(context);
}
@Override
protected void onDraw(Canvas canvas){
if(this.colorArray!=null){
mPaint.setColorFilter(null);
ColorMatrix cm = new ColorMatrix();
cm.set(colorArray);
mPaint.setColorFilter(new ColorMatrixColorFilter(cm));
canvas.drawBitmap(mBitmap, 0, 0, mPaint);
}
}
private void init(Context context){
mBitmap= BitmapFactory.decodeResource(context.getResources(),
R.drawable.rocket_fire);
}
public void changeColor(float[] array){
this.colorArray = array;
invalidate();
}
}