colorMatrix

来源:互联网 发布:易语言变速齿轮源码 编辑:程序博客网 时间:2024/05/16 17:59
package zhuojing.colorMatrix;




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>