게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
AndroidStudio - 자바 코등 관련 on/off질문
게시물ID : programmer_14599짧은주소 복사하기
작성자 : NNNsnow
추천 : 0
조회수 : 566회
댓글수 : 2개
등록시간 : 2015/11/25 20:13:42
옵션
  • 본인삭제금지

안녕하십니까 선배님들안드로이드 스튜디오 앱 만드는데 모르는게 있서서 여쭤보겠습니다


'미니 포토샵' 이라고 해서 '확대'버튼을 누르면 크게'축소'버튼을 누르면 작게'엠보싱'버튼 누르면 엠보싱효과가 온/오프 하게 하는버튼들이 쭈욱 있는 앱을 만들려 하는데요
지금 엠보싱과 블러 효과를 온/오프 해야 하는데 제가짠 코딩이 아닌거 같아서요...
어떻게 해야 온오프를 키면서 효과를 줄수 있을까요?

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
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();
}
}
}
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호