2010/05/06
[Android Dev.] Canvas.drawPosText 의 불편한 진실
이전 Android 에서의 2D Drawing 에 관련한 글을 올렸었는데 그 글에서 drawPosText 함수의 에러에 대한 글을 썼었다.
2010/05/06 - [Dev Story/Android] - [Android Dev.] 2D Drawing
다른 텍스트 출력은 문제가 없는데 drawPosText 함수만 호출하면 문제가 발생하여 그에 대한 원인을 찾느라 시간을 좀 허비했다. API 문서를 좀더 자세히 읽어 봤더라면 시간을 절약할 수 있었을 것이다.
이 함수는 아래와 같은 형태를 갖고 있다.
public void drawPosText(String text, float[] pos, Paint paint)
Parameters
text The text to be drawn
pos Array of [x,y] positions, used to position each character
paint The paint used for the text (e.g. color, size, style)
함수만 보고 이 함수의 기능이 주어진 문자를 주어진 좌표 배열에 출력을 해주는 것이라고 생각하고 아래와 같은 코드로 테스트를 해 보았다.
이 코드가 60,50 과 60,420 좌표에 "Android drawPosText"를 그려 줄 것이라고 예상을 했지만 예상을 깨고 에러 화면만을 보여 주었다.
어렵게 예제 자료를 찾아서 확인해 보았더니 drawPosText 함수의 기능을 주어진 문자열의 각 문자를 좌표 배열의 각각의 위치에 출력하는 기능이였다. API 문서에도 아래와 같이 설명이 되어 있었다.
Draw the text in the array, with each character's origin specified by the pos array.
그래서 아래와 같은 코드로 테스트를 해 보았더니 에러 없이 문자를 출력해 주었다. (보라색 비뚤비뚤 Android 글자)
아래 코드를 수행하여 보면 보다 명확하게 알 수 있다.
<
Original Post : http://neodreamer-dev.tistory.com/432
2010/05/06 - [Dev Story/Android] - [Android Dev.] 2D Drawing
다른 텍스트 출력은 문제가 없는데 drawPosText 함수만 호출하면 문제가 발생하여 그에 대한 원인을 찾느라 시간을 좀 허비했다. API 문서를 좀더 자세히 읽어 봤더라면 시간을 절약할 수 있었을 것이다.
이 함수는 아래와 같은 형태를 갖고 있다.
public void drawPosText(String text, float[] pos, Paint paint)
Parameters
text The text to be drawn
pos Array of [x,y] positions, used to position each character
paint The paint used for the text (e.g. color, size, style)
함수만 보고 이 함수의 기능이 주어진 문자를 주어진 좌표 배열에 출력을 해주는 것이라고 생각하고 아래와 같은 코드로 테스트를 해 보았다.
myPaint.setARGB( 0, 255, 0, 255 );
float[] pos = new float[] {
60, 50,
60, 420
};
canvas.drawPosText( "Android drawPosText", pos, myPaint );
이 코드가 60,50 과 60,420 좌표에 "Android drawPosText"를 그려 줄 것이라고 예상을 했지만 예상을 깨고 에러 화면만을 보여 주었다.
잘못 된 drawPosText 함수 사용에 따른 에러화면
어렵게 예제 자료를 찾아서 확인해 보았더니 drawPosText 함수의 기능을 주어진 문자열의 각 문자를 좌표 배열의 각각의 위치에 출력하는 기능이였다. API 문서에도 아래와 같이 설명이 되어 있었다.
Draw the text in the array, with each character's origin specified by the pos array.
그래서 아래와 같은 코드로 테스트를 해 보았더니 에러 없이 문자를 출력해 주었다. (보라색 비뚤비뚤 Android 글자)
myPaint.setARGB( 128, 255, 0, 255 );
float[] pos = new float[] {
160, 20,
170, 25,
180, 20,
190, 25,
200, 20,
210, 25,
220, 20
};
canvas.drawPosText( "Android", pos, myPaint );
Canvas의 drawPosText 를 이용한 문자 출력
아래 코드를 수행하여 보면 보다 명확하게 알 수 있다.
Paint paint = new Paint();
paint.setColor( Color.GREEN );
float[] pos = new float[] { 60, 50, 60, 420 };
String strMsg = "AB";
canvas.drawPosText( strMsg.toCharArray(), 0, strMsg.length(), pos, paint );
Canvas의 drawPosText 를 이용한 문자 출력
<
Original Post : http://neodreamer-dev.tistory.com/432
Labels:
2d graphics
,
Android
,
Android Development
,
Canvas
,
drawPosText
,
TistoryOldPost
,
안드로이드
,
안드로이드 개발
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment