The Beautiful Future

카메라 프리뷰에 문자와 선 넣기 & 터치 이벤트 본문

Android

카메라 프리뷰에 문자와 선 넣기 & 터치 이벤트

Small Octopus 2017. 4. 18. 21:05

** MainActivity Class

  public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        

    DrawOnTop mDraw = new DrawOnTop(this); 
setContentView(R.layout.activity_camera_preview);
addContentView(mDraw, new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        
    }

** DrawOnTop Class

class DrawOnTop extends View {

public Vertex pt2 = new Vertex( 300, 690, true, 0);

public DrawOnTop(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub

Log.d("DrawOnTop", "onDraw");

Paint paint = new Paint();
paint.setStyle(Paint.Style.FILL);
paint.setColor(Color.RED); // 적색
paint.setStrokeWidth(10);
paint.setTextSize(100);// 크기 10
canvas.drawText("Test Text", 100, 100, paint); // 텍스트 표시


// w: 1920, h: 1080
//canvas.drawLine(0, 960, 0, 0, paint); // 라인그리기
int nCy = canvas.getHeight()/2;
int nCx = canvas.getWidth()/2;
canvas.drawLine(nCx, nCy, pt2.x, pt2.y, paint); // 라인그리기

super.onDraw(canvas);
}
 public boolean onTouchEvent(MotionEvent event)
{
Log.d("DrawOnTop", "onTouchEvent");

if (event.getAction() == MotionEvent.ACTION_DOWN)
{
pt2.x = event.getX();
pt2.y = event.getY();
invalidate();
return true;
}

if (event.getAction() == MotionEvent.ACTION_MOVE)
{
pt2.x = event.getX();
pt2.y = event.getY();
invalidate();//화면에 그림을 그림 -> onDraw()실행함.
return true;
}

return false;
}
//*/

}


'Android' 카테고리의 다른 글

ubuntu 16.04에 설치하기  (0) 2017.06.14
자이로센서  (0) 2017.04.18
안드로이드 자동회전 방지  (0) 2017.04.18
영상가로채기  (0) 2017.04.18
폰연결  (0) 2017.04.18
Comments