반응형
안녕하세요 돼지왕 왕돼지입니다.
오늘은 Canvas ( 혹은 Bitmap ) 에 Text 출력하기란 주제로 이야기 해볼까 합니다.
여기서 혹은 Bitmap 이라고 해 놓은 이유는, Canvas 를 생성할 때 Bitmap 을 Constructor 의 parameter로 전달해주면 그 Bitmap 에 그리는 것이기 떄문에 Canvas 에 그리는 것이 곧 Bitmap 에 그리는 것이 되어버리죠. 그래서 ( 혹은 Bitmap ) 을 추가하였습니다.
Canvas 의 Text 출력 APIs.
void Canvas.drawText(String text, float x, float y, Paint paint)
void Canvas.drawText(String text, int start, int end, float x, float y, Paint paint)
-> 문자열의 일부분 (start, end로 조정) 출력
void Canvas.drawText(char[] text, int index, int count, float x, float y, Paint paint)
-> 문자열의 일부분 (index, count로 조정) 출력
void Canvas.drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint)
-> path를 따라서 hOffset, vOffset의 위치에 글씨 쓰기
Text 에 Font 속성 주기 ( 실제로는 Paint 를 설정하는 것이죠. )
void Paint.setTextAlign(Paint.Align align)
-> Paint.Align.Left, .Right, .Center (수평 정렬, drawText의 x를 글자의 어디에 맞출지..)
-> 참고로 drawText의 y는 글자의 아래에 맞춰져 있다. 따라서 (0,0)을 하면 글씨 안 보임.
void Paint.setTextSize(float textSize)
void Paint.setUnderlineText(boolean strikeThruText)
void Paint.setStrikeThruText(boolean subpixelText)
void Paint.setTextSkewX(float skewX) -> 기울임, +는 반시계방향
void Paint.setTextScaleX(float scaleX) -> 장평
Typeface Paint.setTypeface(Typeface typeface) -> 폰트
-> ex) Pnt.setTypeface(Typeface.create((String)null, Typeface.BOLD));
static Typeface Paint.create(Typeface family, int style)
static Typeface Paint.create(String familyName, int style)
-> style은 Typeface.NORMAL, BOLD, ITALIC 등
-> family는 Typeface.DEFAULT, DEFAULT_BOLD, MONOSPACE, SANS_SERIF, SERIF
(기본제공 폰트는 5개뿐..)
사용자 정의 폰트 지정
Typeface createFromAsset (AssetManager mgr, String path)
-> ex) Typefce font = Typeface.createFromAsset(getAssets(), "font.ttf");
Pnt.setTypeface(font);
로그인 없이 추천 가능합니다. 손가락 꾸욱~
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[Android/안드로이드] SoundPool(사운드 풀). 우리도 안드로이드에서 소리 좀 내보자구요. (2) | 2012.02.28 |
---|---|
[Android/안드로이드] Canvas 에 Path 를 그려보자. (0) | 2012.02.28 |
[Android/안드로이드] Paint 관련 함수들. (0) | 2012.02.27 |
[Android/안드로이드] Canvas 관련 함수들 (0) | 2012.02.27 |
[android] Table Layout 속성 ( Attribute ) (0) | 2012.02.27 |
댓글