ColorMatrix实例.docx
《ColorMatrix实例.docx》由会员分享,可在线阅读,更多相关《ColorMatrix实例.docx(9页珍藏版)》请在冰豆网上搜索。
ColorMatrix实例
ColorMatrix实例
MainActivity:
publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{
privateMyImageViewmyImageView;
privateEditText[]editTexts=newEditText[20];
@OverrideprotectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myImageView=(MyImageView)findViewById(R.id.img);
for(inti=0;i<20;i++){
editTexts[i]=(EditText)findViewById(R.id.value_01+i);
}
findViewById(R.id.sure).setOnClickListener(this);
}
@OverridepublicbooleanonCreateOptionsMenu(Menumenu){
//Inflatethemenu;thisaddsitemstotheactionbarifitispresent.getMenuInflater().inflate(R.menu.menu_main,menu);
returntrue;
}
@OverridepublicbooleanonOptionsItemSelected(MenuItemitem){
//Handleactionbaritemclickshere.Theactionbarwill//automaticallyhandleclicksontheHome/Upbutton,solong//asyouspecifyaparentactivityinAndroidManifest.xml.intid=item.getItemId();
//noinspectionSimplifiableIfStatementif(id==R.id.action_settings){
returntrue;
}
returnsuper.onOptionsItemSelected(item);
}
@OverridepublicvoidonClick(Viewv){
float[]floats=newfloat[20];
floattemp=0;
for(inti=0;i<20;i++){
try{
temp=Float.valueOf(editTexts[i].getText().toString().trim());
}catch(NumberFormatExceptione){
e.printStackTrace();
}
floats[i]=temp;
}
myImageView.setArray(floats);
}
}
MyImageView:
publicclassMyImageViewextendsView{
privateBitmapbitmap;
privatePaintpaint;
privatebooleanisFirst=true;
publicMyImageView(Contextcontext){
super(context);
}
publicMyImageView(Contextcontext,AttributeSetattrs){
super(context,attrs);
bitmap=BitmapFactory.decodeResource(getResources(),R.mipmap.test);
paint=newPaint();
paint.setAntiAlias(true);
}
publicMyImageView(Contextcontext,AttributeSetattrs,intdefStyleAttr){
super(context,attrs,defStyleAttr);
}
@OverrideprotectedvoidonDraw(Canvascanvas){
if(isFirst){
isFirst=false;
ViewGroup.LayoutParamsparams=getLayoutParams();
params.width=bitmap.getWidth();
params.height=bitmap.getHeight();
setLayoutParams(params);
}
canvas.drawBitmap(bitmap,0,0,paint);
}
publicvoidsetArray(float[]floats){
ColorMatrixmatrix=newColorMatrix(floats);
ColorMatrixColorFiltercolorMatrixColorFilter=newColorMatrixColorFilter(matrix);
paint.setColorFilter(colorMatrixColorFilter);
invalidate();
}
}
activity_main.xml:
xmlversion="1.0"encoding="utf-8"?
>android="android:
layout_width="match_parent"android:
layout_height="match_parent">
layout_width="match_parent"android:
layout_height="match_parent"android:
gravity="center_horizontal"android:
orientation="vertical">
id="@+id/img"android:
layout_width="wrap_content"android:
layout_height="wrap_content"/>
layout_width="match_parent"android:
layout_height="wrap_content"android:
orientation="horizontal">
id="@+id/value_01"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="1"/>
id="@+id/value_02"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
id="@+id/value_03"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
id="@+id/value_04"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
id="@+id/value_05"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
layout_width="match_parent"android:
layout_height="wrap_content"android:
orientation="horizontal">
id="@+id/value_06"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
id="@+id/value_07"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="1"/>
id="@+id/value_08"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
id="@+id/value_09"android:
layout_width="0dp"android:
layout_height="wrap_content"android:
layout_weight="1"android:
gravity="center"android:
text="0"/>
id="@+id/value_10"android:
layout_width="0dp"androi