CODEDRAGON ㆍDevelopment/Android
다양한 그리기 객체 사용
강의 내용
activity_main.xml |
LinearLayout(Vertical) 변경 <kr.android.paint.MyView /> 추가 |
MainActivity.java |
- |
MyView.java |
extends View //Activity에서 커스텀 뷰를 사용하기 위한 생성자 정의 //XML에 element로 지정시 반드시 생성자 정의 //그리기 객체 생성 및 설정 |
activity_main.xml에 생성한 View 직접 지정
출력 결과
drawLine
소스 코드
paint.setColor(Color.GREEN);
paint.setStrokeWidth(10);
//시작x, 시작y, 끝x, 끝y, Paint객체
canvas.drawLine(50, 0, 50, 100, paint);
소스 코드
paint.setColor(Color.RED);
paint.setStrokeWidth(5);
for(int y=30, alpha=255; alpha>2; alpha-=50, y+=10){
//알파값 설정
paint.setAlpha(alpha);
//그리기
canvas.drawLine(0, y, 100, y, paint);
}
drawRect
소스 코드
paint.setColor(Color.WHITE);
//테두리 선만 그리기
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
//왼쪽, 상단, 오른쪽, 하단, Paint
canvas.drawRect(120, 10, 120+80, 10+80, paint);
소스 코드
paint.setColor(Color.MAGENTA);
paint.setStyle(Paint.Style.FILL);
canvas.drawRect(220, 10, 220+80, 10+80, paint);
drawArc
소스 코드
paint.setColor(Color.MAGENTA);
//
canvas.drawArc(new RectF(150,120,150+100, 120+100), //넓이 지정
0, //시작각도
50, //끝각도
true, //중심사용여부
paint);
drawOval
소스 코드
paint.setColor(Color.YELLOW);
canvas.drawOval(new RectF(20, 250, 20+100, 250+50), paint);
drawRoundRect
소스 코드
paint.setColor(Color.GREEN);
canvas.drawRoundRect(new RectF(150, 250, 150+100, 250+50),
10, 10, //모서리가 둥근 정도
paint);
drawPath
소스 코드
//drawPath
paint.setColor(Color.BLUE);
//테두리만 그리기
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(2);
//Path지정
Path path = new Path();
path.moveTo(0, 0);
path.lineTo(30, 60);
path.lineTo(-30, 60);
//그릴 좌표설정이 완료되면 close( )
path.close();
//실제 도형이 만들어 지는 위치
path.offset(150, 340);
canvas.drawPath(path, paint);
'Development > Android' 카테고리의 다른 글
Camera (카메라) (0) | 2014.07.11 |
---|---|
SurfaceView(서피스뷰) (0) | 2014.07.11 |
FileSearchByGallery-SD카드의 이미지 출력 (0) | 2014.07.10 |
이미지 처리, Canvas,Paint,Bitmap,Drawable (0) | 2014.07.10 |
SQLite Manager, FireFox 브라우저 설치 (0) | 2014.07.09 |