안녕하십니까 선배님들안드로이드 스튜디오 앱 만드는데 모르는게 있서서 여쭤보겠습니다
'미니 포토샵' 이라고 해서 '확대'버튼을 누르면 크게'축소'버튼을 누르면 작게'엠보싱'버튼 누르면 엠보싱효과가 온/오프 하게 하는버튼들이 쭈욱 있는 앱을 만들려 하는데요
지금 엠보싱과 블러 효과를 온/오프 해야 하는데 제가짠 코딩이 아닌거 같아서요...
어떻게 해야 온오프를 키면서 효과를 줄수 있을까요?
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
public class MainActivity extends Activity {
ImageButton ibZoomin, ibZoomout, ibRotate, ibBright, ibDark, ibGray,ibEmbos, ibBlur;
MyGraphicView graphicView;
static float scaleX = 1, scaleY = 1;
static float angle = 0;
static float color = 1;
static float satur = 1;
static float blur = 1;
static float embosing = 1;
private void clickIcons() {
ibZoomin = (ImageButton) findViewById(R.id.ibZoomin);
ibZoomin.setOnClickListener(new View.OnClickListener() {
//중략
});
ibZoomout = (ImageButton) findViewById(R.id.ibZoomout);
ibZoomout.setOnClickListener(new View.OnClickListener() {
//중략
});
ibRotate = (ImageButton) findViewById(R.id.ibRotate);
ibRotate.setOnClickListener(new View.OnClickListener() {
//중략
});
ibBright = (ImageButton) findViewById(R.id.ibBright);
ibBright.setOnClickListener(new View.OnClickListener() {
//중략
});
ibDark = (ImageButton) findViewById(R.id.ibDark);
ibDark.setOnClickListener(new View.OnClickListener() {
//중략
});
<엠보싱 효과 코드>
<블러효과 코드>
}
private static class MyGraphicView extends View {
public MyGraphicView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
int cenX = this.getWidth() / 2;
int cenY = this.getHeight() / 2;
canvas.scale(scaleX, scaleY, cenX, cenY);
canvas.rotate(angle, cenX, cenY);
Paint paint = new Paint();
float[] array = { color, 0, 0, 0, 0,
0, color, 0, 0, 0,
0, 0, color, 0, 0,
0, 0, 0, 1, 0 };
ColorMatrix cm = new ColorMatrix(array);
cm.setSaturation(satur);
paint.setColorFilter(new ColorMatrixColorFilter(cm));
if(blur==0) {
BlurMaskFilter bMask;
bMask = new BlurMaskFilter(30, BlurMaskFilter.Blur.NORMAL);
paint.setMaskFilter(bMask);
}
if(embosing==0) {
EmbossMaskFilter eMask;
eMask = new EmbossMaskFilter(new float[]{3, 3, 3}, 0.5f, 5, 10);
paint.setMaskFilter(eMask);
}
Bitmap picture = BitmapFactory.decodeResource(getResources(),R.drawable.lena256);
int picX = (this.getWidth() - picture.getWidth()) / 2;
int picY = (this.getHeight() - picture.getHeight()) / 2;
canvas.drawBitmap(picture, picX, picY, paint);
picture.recycle();
}
}
}