Android学习篇章14-ColorMatrix-ColorMatrixColorFilter颜色变化
来源:互联网 发布:小小冰人 知乎 编辑:程序博客网 时间:2024/06/05 07:45
public class MainActivity extends Activity {float[] colorMatrix={1,0,0,0,0, 0,1,0,0,0, 0,0,1,0,0, 0,0,0,1,0};ImageView img1=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);img1=(ImageView)findViewById(R.id.img1);}public void clickBtn(View view){for(int i=0;i<20;i++){ EditText txt=(EditText)findViewById(R.id.txt11+i); colorMatrix[i]=Float.parseFloat(""+txt.getText());}Bitmap bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.et04);//生成颜色矩阵ColorMatrix cm=new ColorMatrix(colorMatrix);//生成矩阵过滤器ColorMatrixColorFilter ccf=new ColorMatrixColorFilter(cm); img1.setImageBitmap(bitmap); //设置ImageView的滤镜 img1.setColorFilter(ccf);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <ImageView android:id="@+id/img1" android:layout_weight="1" android:layout_width="match_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:layout_weight="0"> <Button android:id="@+id/btn1" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="clickBtn" android:text="变换" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/txt11" android:layout_width="80dp" android:layout_height="wrap_content" android:text="1" /> <EditText android:id="@+id/txt12" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt13" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt14" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt15" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/txt21" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt22" android:layout_width="80dp" android:layout_height="wrap_content" android:text="1" /> <EditText android:id="@+id/txt23" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt24" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt25" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/txt31" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt32" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt33" android:layout_width="80dp" android:layout_height="wrap_content" android:text="1" /> <EditText android:id="@+id/txt34" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt35" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/txt41" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt42" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt43" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> <EditText android:id="@+id/txt44" android:layout_width="80dp" android:layout_height="wrap_content" android:text="1" /> <EditText android:id="@+id/txt45" android:layout_width="80dp" android:layout_height="wrap_content" android:text="0" /> </LinearLayout> </LinearLayout> </LinearLayout>