import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
MyView myview=null;
EditText[] txts=new EditText[20];
float[] f={0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myview=(MyView)findViewById(R.id.myview);
for(int i=0;i<20;i++) {
txts[i]= (EditText) findViewById(R.id.txt11+i);
}
}
public void changeBtn(View v) {
for(int i=0;i<20;i++) {
f[i]=Float.parseFloat(""+txts[i].getText());
}
myview.setValue(f);
myview.postInvalidate();
}
}
package zhuojing.colorMatrix;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;
public class MyView extends View{
float[] f={1,0,0,0,0,
0,1,0,0,0,
0,0,1,0,0,
0,0,0,1,0};
Matrix matrix=null;
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public void setValue(float[] values)
{
this.f=values;
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//绘制原图
Bitmap bitmap=BitmapFactory.decodeResource(this.getResources(), R.drawable.et04);
Paint paint=new Paint();
ColorMatrixColorFilter cm=new ColorMatrixColorFilter(f);
paint.setColorFilter(cm);
canvas.drawBitmap(bitmap, 0, 0, paint);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<zhuojing.colorMatrix.MyView android:id="@+id/myview"
android:layout_width="fill_parent"
android:layout_height="200dip"
/>
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<Button android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="changeBtn"
android:text="变换"
/>
<TableRow >
<EditText android:id="@+id/txt11"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="1"/>
<EditText android:id="@+id/txt12"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt13"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt14"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt15"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
</TableRow>
<TableRow >
<EditText android:id="@+id/txt21"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt22"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="1"/>
<EditText android:id="@+id/txt23"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt24"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt25"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
</TableRow>
<TableRow >
<EditText android:id="@+id/txt31"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt32"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt33"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="1"/>
<EditText android:id="@+id/txt34"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt35"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
</TableRow>
<TableRow >
<EditText android:id="@+id/txt41"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt42"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt43"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
<EditText android:id="@+id/txt44"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="1"/>
<EditText android:id="@+id/txt45"
android:layout_width="50dip"
android:layout_height="wrap_content"
android:text="0"/>
</TableRow>
</TableLayout>
</LinearLayout>